View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
18527Bug reportsQuestion editorpublic2023-02-27 11:34
ReporterGintarasG Assigned Toollehar  
PrioritynoneSeverityminor 
Status closedResolutionfixed 
Summary18527: Can't validate phone number usign Regex if phone number starts with +
Description

I've been following input validation guide and examples for Australian phone numbers and I need to allow phone numbers with + sign entered in my form.
https://manual.limesurvey.org/Using_regular_expressions#Australian_phone_numbers

Using this Regex expression: /^(?:+?61|0)[2-478](?:[ -]?[0-9]){8}$/

everything works fine except I can't validate input if it starts with '+' sign.

Getting JS error:
lslog.js:2494 LSLOG Error: [DecimalError] Invalid argument: +6
at parseOther (decimal.js:3598:13)

It looks like this I get this error if I start input with + on any regex validation field, the same error comes from email validation.

Steps To Reproduce

Steps to reproduce

  • Create Multiple Short text question in LimeSurvey.

  • Add Regex validation Question validation tip:
    {if(is_empty(G05Q30_SQ004.NAOK) or regexMatch('/^(?:+?61|0)[2-478](?:[ -]?[0-9]){8}$/',G05Q30_SQ004.NAOK), '','Please enter valid phone number!')}

Input phone number: "+61449777777"

Expected result

Validation passes, no error generated.

Actual result

Error occurs:
LSLOG Error: [DecimalError] Invalid argument: +6

TagsNo tags attached.
Attached Files
bug-report-2.png (54,440 bytes)   
bug-report-2.png (54,440 bytes)   
bug-report-3.png (99,252 bytes)   
bug-report-3.png (99,252 bytes)   
bug-report-1.png (185,166 bytes)
Bug heat10
Complete LimeSurvey version number (& build)LimeSurvey Community Edition Version 5.3.32+220817
I will donate to the project if issue is resolvedNo
Browser
Database type & versionAWS RDS
Server OS (if known)
Webserver software & version (if known)
PHP VersionPHP 8.1.9

Relationships

related to 13881 new EM : Not number question replace . by , (javascript) 

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2022-11-30 09:01

developer   ~72941

Can you upload the sample lss file with only this question please ?

GintarasG

GintarasG

2022-12-01 00:35

reporter   ~72952

Sure, here it is.

sample_survey-forBugReport.lss (25,834 bytes)   
<?xml version="1.0" encoding="UTF-8"?>
<document>
 <LimeSurveyDocType>Survey</LimeSurveyDocType>
 <DBVersion>488</DBVersion>
 <languages>
  <language>en</language>
 </languages>
 <groups>
  <fields>
   <fieldname>gid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <gid><![CDATA[41]]></gid>
    <sid><![CDATA[286214]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
  </rows>
 </groups>
 <group_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>group_name</fieldname>
   <fieldname>description</fieldname>
   <fieldname>language</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[41]]></id>
    <gid><![CDATA[41]]></gid>
    <group_name><![CDATA[My first question group]]></group_name>
    <language><![CDATA[en]]></language>
    <sid><![CDATA[286214]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
  </rows>
 </group_l10ns>
 <questions>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>parent_qid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>type</fieldname>
   <fieldname>title</fieldname>
   <fieldname>preg</fieldname>
   <fieldname>other</fieldname>
   <fieldname>mandatory</fieldname>
   <fieldname>encrypted</fieldname>
   <fieldname>question_order</fieldname>
   <fieldname>scale_id</fieldname>
   <fieldname>same_default</fieldname>
   <fieldname>relevance</fieldname>
   <fieldname>question_theme_name</fieldname>
   <fieldname>modulename</fieldname>
   <fieldname>same_script</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[1309]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[286214]]></sid>
    <gid><![CDATA[41]]></gid>
    <type><![CDATA[Q]]></type>
    <title><![CDATA[G05Q30]]></title>
    <preg/>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <encrypted><![CDATA[N]]></encrypted>
    <question_order><![CDATA[2]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <question_theme_name><![CDATA[multipleshorttext]]></question_theme_name>
    <modulename/>
    <same_script><![CDATA[0]]></same_script>
   </row>
  </rows>
 </questions>
 <subquestions>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>parent_qid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>type</fieldname>
   <fieldname>title</fieldname>
   <fieldname>preg</fieldname>
   <fieldname>other</fieldname>
   <fieldname>mandatory</fieldname>
   <fieldname>encrypted</fieldname>
   <fieldname>question_order</fieldname>
   <fieldname>scale_id</fieldname>
   <fieldname>same_default</fieldname>
   <fieldname>relevance</fieldname>
   <fieldname>question_theme_name</fieldname>
   <fieldname>modulename</fieldname>
   <fieldname>same_script</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[1326]]></qid>
    <parent_qid><![CDATA[1309]]></parent_qid>
    <sid><![CDATA[286214]]></sid>
    <gid><![CDATA[41]]></gid>
    <type><![CDATA[T]]></type>
    <title><![CDATA[SQ001]]></title>
    <other><![CDATA[N]]></other>
    <encrypted><![CDATA[N]]></encrypted>
    <question_order><![CDATA[0]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <question_theme_name><![CDATA[longfreetext]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[1327]]></qid>
    <parent_qid><![CDATA[1309]]></parent_qid>
    <sid><![CDATA[286214]]></sid>
    <gid><![CDATA[41]]></gid>
    <type><![CDATA[T]]></type>
    <title><![CDATA[SQ002]]></title>
    <other><![CDATA[N]]></other>
    <encrypted><![CDATA[N]]></encrypted>
    <question_order><![CDATA[1]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <question_theme_name><![CDATA[longfreetext]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[1328]]></qid>
    <parent_qid><![CDATA[1309]]></parent_qid>
    <sid><![CDATA[286214]]></sid>
    <gid><![CDATA[41]]></gid>
    <type><![CDATA[T]]></type>
    <title><![CDATA[SQ004]]></title>
    <other><![CDATA[N]]></other>
    <encrypted><![CDATA[N]]></encrypted>
    <question_order><![CDATA[2]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <question_theme_name><![CDATA[longfreetext]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[1329]]></qid>
    <parent_qid><![CDATA[1309]]></parent_qid>
    <sid><![CDATA[286214]]></sid>
    <gid><![CDATA[41]]></gid>
    <type><![CDATA[T]]></type>
    <title><![CDATA[SQ003]]></title>
    <other><![CDATA[N]]></other>
    <encrypted><![CDATA[N]]></encrypted>
    <question_order><![CDATA[3]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <question_theme_name><![CDATA[longfreetext]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
  </rows>
 </subquestions>
 <question_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>qid</fieldname>
   <fieldname>question</fieldname>
   <fieldname>help</fieldname>
   <fieldname>script</fieldname>
   <fieldname>language</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[1313]]></id>
    <qid><![CDATA[1309]]></qid>
    <question><![CDATA[<div class="container-feedback">
<h3>Are you looking to improve <span class="color-fc">Data Readiness</span> within your organisation?</h3>

<p>Fill in the contact details form below or email us at <a href="mailto:australia@forecast.global">australia@forecast.global</a> and one of our data professionals will be in touch.</p>

<p class="col-xs-6 hidden-xs contact-img text-center"><img alt="" src="/upload/surveys/286214/images/envelope-art-fc.jpg" /></p>

<div class="pdf-row col-xs-12 text-end"><label class="pdf-label color-fc" for="pdf-checkbox">Download the summary as a PDF:</label> <input checked="checked" id="pdf-checkbox" type="checkbox" /></div>
</div>
<script type="text/javascript" charset="utf-8">
 
	$(document).on('ready pjax:scriptcomplete',function(){
 
		// Identify this question
		var thisQuestion = $('#question{QID}');
 
		// Move element(s)
      thisQuestion.append($('.contact-img', thisQuestion));
      thisQuestion.append($('.answer-container', thisQuestion));
		thisQuestion.append($('.pdf-row', thisQuestion));

     $( ".answer-container" ).addClass( 'col-sm-6');
	});
</script>
<style type="text/css">#question{QID} .ls-answers {
			 margin-right: 7rem;
		}
  @media screen and (max-width: 991px) {
    #question{QID} .ls-answers {
			 margin-right: 0;
		}
  }
</style>
]]></question>
    <help/>
    <script/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <id><![CDATA[1326]]></id>
    <qid><![CDATA[1326]]></qid>
    <question><![CDATA[Name]]></question>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <id><![CDATA[1327]]></id>
    <qid><![CDATA[1327]]></qid>
    <question><![CDATA[Email]]></question>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <id><![CDATA[1328]]></id>
    <qid><![CDATA[1328]]></qid>
    <question><![CDATA[Phone Number]]></question>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <id><![CDATA[1329]]></id>
    <qid><![CDATA[1329]]></qid>
    <question><![CDATA[Job Title]]></question>
    <language><![CDATA[en]]></language>
   </row>
  </rows>
 </question_l10ns>
 <question_attributes>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>attribute</fieldname>
   <fieldname>value</fieldname>
   <fieldname>language</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[exclude_all_others]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[em_validation_q]]></attribute>
    <value><![CDATA[(is_empty(G05Q30_SQ002.NAOK) or regexMatch('/^.+?@.+?\..+$/',G05Q30_SQ002.NAOK)) and 
(is_empty(G05Q30_SQ004.NAOK) or regexMatch('/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/',G05Q30_SQ004.NAOK))]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[em_validation_q_tip]]></attribute>
    <value><![CDATA[{if(is_empty(G05Q30_SQ002.NAOK) or regexMatch('/^.+?@.+?\..+$/',G05Q30_SQ002.NAOK), '','Please enter a valid email address! <br />')}
{if(is_empty(G05Q30_SQ004.NAOK) or regexMatch('/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/',G05Q30_SQ004.NAOK), '','Please enter valid phone number!')}]]></value>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[text_input_columns]]></attribute>
    <value><![CDATA[12]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[label_input_columns]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[random_order]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[input_size]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[display_rows]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value><![CDATA[summary-feedback]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[maximum_chars]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[numbers_only]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[em_validation_sq]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[em_validation_sq_tip]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[autoaddnewline]]></attribute>
    <value><![CDATA[no]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[addlineicon]]></attribute>
    <value><![CDATA[plus]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[prefix]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[suffix]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[array_filter_exclude]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[min_answers]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[max_answers]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[array_filter]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[1309]]></qid>
    <attribute><![CDATA[array_filter_style]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
  </rows>
 </question_attributes>
 <surveys>
  <fields>
   <fieldname>sid</fieldname>
   <fieldname>gsid</fieldname>
   <fieldname>admin</fieldname>
   <fieldname>expires</fieldname>
   <fieldname>startdate</fieldname>
   <fieldname>adminemail</fieldname>
   <fieldname>anonymized</fieldname>
   <fieldname>faxto</fieldname>
   <fieldname>format</fieldname>
   <fieldname>savetimings</fieldname>
   <fieldname>template</fieldname>
   <fieldname>language</fieldname>
   <fieldname>additional_languages</fieldname>
   <fieldname>datestamp</fieldname>
   <fieldname>usecookie</fieldname>
   <fieldname>allowregister</fieldname>
   <fieldname>allowsave</fieldname>
   <fieldname>autonumber_start</fieldname>
   <fieldname>autoredirect</fieldname>
   <fieldname>allowprev</fieldname>
   <fieldname>printanswers</fieldname>
   <fieldname>ipaddr</fieldname>
   <fieldname>ipanonymize</fieldname>
   <fieldname>refurl</fieldname>
   <fieldname>showsurveypolicynotice</fieldname>
   <fieldname>publicstatistics</fieldname>
   <fieldname>publicgraphs</fieldname>
   <fieldname>listpublic</fieldname>
   <fieldname>htmlemail</fieldname>
   <fieldname>sendconfirmation</fieldname>
   <fieldname>tokenanswerspersistence</fieldname>
   <fieldname>assessments</fieldname>
   <fieldname>usecaptcha</fieldname>
   <fieldname>usetokens</fieldname>
   <fieldname>bounce_email</fieldname>
   <fieldname>attributedescriptions</fieldname>
   <fieldname>emailresponseto</fieldname>
   <fieldname>emailnotificationto</fieldname>
   <fieldname>tokenlength</fieldname>
   <fieldname>showxquestions</fieldname>
   <fieldname>showgroupinfo</fieldname>
   <fieldname>shownoanswer</fieldname>
   <fieldname>showqnumcode</fieldname>
   <fieldname>bouncetime</fieldname>
   <fieldname>bounceprocessing</fieldname>
   <fieldname>bounceaccounttype</fieldname>
   <fieldname>bounceaccounthost</fieldname>
   <fieldname>bounceaccountpass</fieldname>
   <fieldname>bounceaccountencryption</fieldname>
   <fieldname>bounceaccountuser</fieldname>
   <fieldname>showwelcome</fieldname>
   <fieldname>showprogress</fieldname>
   <fieldname>questionindex</fieldname>
   <fieldname>navigationdelay</fieldname>
   <fieldname>nokeyboard</fieldname>
   <fieldname>alloweditaftercompletion</fieldname>
   <fieldname>googleanalyticsstyle</fieldname>
   <fieldname>googleanalyticsapikey</fieldname>
   <fieldname>tokenencryptionoptions</fieldname>
  </fields>
  <rows>
   <row>
    <sid><![CDATA[286214]]></sid>
    <gsid><![CDATA[1]]></gsid>
    <admin><![CDATA[Gintaras Gelbuda]]></admin>
    <adminemail><![CDATA[gintaras.g@forecast.global]]></adminemail>
    <anonymized><![CDATA[N]]></anonymized>
    <format><![CDATA[I]]></format>
    <savetimings><![CDATA[I]]></savetimings>
    <template><![CDATA[inherit]]></template>
    <language><![CDATA[en]]></language>
    <additional_languages/>
    <datestamp><![CDATA[I]]></datestamp>
    <usecookie><![CDATA[I]]></usecookie>
    <allowregister><![CDATA[I]]></allowregister>
    <allowsave><![CDATA[I]]></allowsave>
    <autonumber_start><![CDATA[0]]></autonumber_start>
    <autoredirect><![CDATA[I]]></autoredirect>
    <allowprev><![CDATA[I]]></allowprev>
    <printanswers><![CDATA[I]]></printanswers>
    <ipaddr><![CDATA[I]]></ipaddr>
    <ipanonymize><![CDATA[I]]></ipanonymize>
    <refurl><![CDATA[I]]></refurl>
    <showsurveypolicynotice><![CDATA[0]]></showsurveypolicynotice>
    <publicstatistics><![CDATA[I]]></publicstatistics>
    <publicgraphs><![CDATA[I]]></publicgraphs>
    <listpublic><![CDATA[I]]></listpublic>
    <htmlemail><![CDATA[I]]></htmlemail>
    <sendconfirmation><![CDATA[I]]></sendconfirmation>
    <tokenanswerspersistence><![CDATA[I]]></tokenanswerspersistence>
    <assessments><![CDATA[I]]></assessments>
    <usecaptcha><![CDATA[E]]></usecaptcha>
    <usetokens><![CDATA[N]]></usetokens>
    <bounce_email><![CDATA[inherit]]></bounce_email>
    <emailresponseto><![CDATA[inherit]]></emailresponseto>
    <emailnotificationto><![CDATA[inherit]]></emailnotificationto>
    <tokenlength><![CDATA[-1]]></tokenlength>
    <showxquestions><![CDATA[I]]></showxquestions>
    <showgroupinfo><![CDATA[I]]></showgroupinfo>
    <shownoanswer><![CDATA[I]]></shownoanswer>
    <showqnumcode><![CDATA[I]]></showqnumcode>
    <bounceprocessing><![CDATA[N]]></bounceprocessing>
    <showwelcome><![CDATA[I]]></showwelcome>
    <showprogress><![CDATA[I]]></showprogress>
    <questionindex><![CDATA[-1]]></questionindex>
    <navigationdelay><![CDATA[-1]]></navigationdelay>
    <nokeyboard><![CDATA[I]]></nokeyboard>
    <alloweditaftercompletion><![CDATA[I]]></alloweditaftercompletion>
    <tokenencryptionoptions/>
   </row>
  </rows>
 </surveys>
 <surveys_languagesettings>
  <fields>
   <fieldname>surveyls_survey_id</fieldname>
   <fieldname>surveyls_language</fieldname>
   <fieldname>surveyls_title</fieldname>
   <fieldname>surveyls_description</fieldname>
   <fieldname>surveyls_welcometext</fieldname>
   <fieldname>surveyls_endtext</fieldname>
   <fieldname>surveyls_policy_notice</fieldname>
   <fieldname>surveyls_policy_error</fieldname>
   <fieldname>surveyls_policy_notice_label</fieldname>
   <fieldname>surveyls_url</fieldname>
   <fieldname>surveyls_urldescription</fieldname>
   <fieldname>surveyls_email_invite_subj</fieldname>
   <fieldname>surveyls_email_invite</fieldname>
   <fieldname>surveyls_email_remind_subj</fieldname>
   <fieldname>surveyls_email_remind</fieldname>
   <fieldname>surveyls_email_register_subj</fieldname>
   <fieldname>surveyls_email_register</fieldname>
   <fieldname>surveyls_email_confirm_subj</fieldname>
   <fieldname>surveyls_email_confirm</fieldname>
   <fieldname>surveyls_dateformat</fieldname>
   <fieldname>surveyls_attributecaptions</fieldname>
   <fieldname>email_admin_notification_subj</fieldname>
   <fieldname>email_admin_notification</fieldname>
   <fieldname>email_admin_responses_subj</fieldname>
   <fieldname>email_admin_responses</fieldname>
   <fieldname>surveyls_numberformat</fieldname>
   <fieldname>attachments</fieldname>
  </fields>
  <rows>
   <row>
    <surveyls_survey_id><![CDATA[286214]]></surveyls_survey_id>
    <surveyls_language><![CDATA[en]]></surveyls_language>
    <surveyls_title><![CDATA[Sample Survey for Bug report]]></surveyls_title>
    <surveyls_description/>
    <surveyls_welcometext/>
    <surveyls_endtext/>
    <surveyls_policy_notice/>
    <surveyls_policy_notice_label/>
    <surveyls_url/>
    <surveyls_urldescription/>
    <surveyls_email_invite_subj><![CDATA[Invitation to participate in a survey]]></surveyls_email_invite_subj>
    <surveyls_email_invite><![CDATA[Dear {FIRSTNAME},<br />
<br />
You have been invited to participate in a survey.<br />
<br />
The survey is titled:<br />
"{SURVEYNAME}"<br />
<br />
"{SURVEYDESCRIPTION}"<br />
<br />
To participate, please click on the link below.<br />
<br />
Sincerely,<br />
<br />
{ADMINNAME} ({ADMINEMAIL})<br />
<br />
----------------------------------------------<br />
Click here to do the survey:<br />
{SURVEYURL}<br />
<br />
If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:<br />
{OPTOUTURL}<br />
<br />
If you are blacklisted but want to participate in this survey and want to receive invitations please click the following link:<br />
{OPTINURL}]]></surveyls_email_invite>
    <surveyls_email_remind_subj><![CDATA[Reminder to participate in a survey]]></surveyls_email_remind_subj>
    <surveyls_email_remind><![CDATA[Dear {FIRSTNAME},<br />
<br />
Recently we invited you to participate in a survey.<br />
<br />
We note that you have not yet completed the survey, and wish to remind you that the survey is still available should you wish to take part.<br />
<br />
The survey is titled:<br />
"{SURVEYNAME}"<br />
<br />
"{SURVEYDESCRIPTION}"<br />
<br />
To participate, please click on the link below.<br />
<br />
Sincerely,<br />
<br />
{ADMINNAME} ({ADMINEMAIL})<br />
<br />
----------------------------------------------<br />
Click here to do the survey:<br />
{SURVEYURL}<br />
<br />
If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:<br />
{OPTOUTURL}]]></surveyls_email_remind>
    <surveyls_email_register_subj><![CDATA[Survey registration confirmation]]></surveyls_email_register_subj>
    <surveyls_email_register><![CDATA[Dear {FIRSTNAME},<br />
<br />
You, or someone using your email address, have registered to participate in an online survey titled {SURVEYNAME}.<br />
<br />
To complete this survey, click on the following URL:<br />
<br />
{SURVEYURL}<br />
<br />
If you have any questions about this survey, or if you did not register to participate and believe this email is in error, please contact {ADMINNAME} at {ADMINEMAIL}.]]></surveyls_email_register>
    <surveyls_email_confirm_subj><![CDATA[Confirmation of your participation in our survey]]></surveyls_email_confirm_subj>
    <surveyls_email_confirm><![CDATA[Dear {FIRSTNAME},<br />
<br />
This email is to confirm that you have completed the survey titled {SURVEYNAME} and your response has been saved. Thank you for participating.<br />
<br />
If you have any further questions about this email, please contact {ADMINNAME} on {ADMINEMAIL}.<br />
<br />
Sincerely,<br />
<br />
{ADMINNAME}]]></surveyls_email_confirm>
    <surveyls_dateformat><![CDATA[9]]></surveyls_dateformat>
    <email_admin_notification_subj><![CDATA[Response submission for survey {SURVEYNAME}]]></email_admin_notification_subj>
    <email_admin_notification><![CDATA[Hello,<br />
<br />
A new response was submitted for your survey '{SURVEYNAME}'.<br />
<br />
Click the following link to see the individual response:<br />
{VIEWRESPONSEURL}<br />
<br />
Click the following link to edit the individual response:<br />
{EDITRESPONSEURL}<br />
<br />
View statistics by clicking here:<br />
{STATISTICSURL}]]></email_admin_notification>
    <email_admin_responses_subj><![CDATA[Response submission for survey {SURVEYNAME} with results]]></email_admin_responses_subj>
    <email_admin_responses><![CDATA[Hello,<br />
<br />
A new response was submitted for your survey '{SURVEYNAME}'.<br />
<br />
Click the following link to see the individual response:<br />
{VIEWRESPONSEURL}<br />
<br />
Click the following link to edit the individual response:<br />
{EDITRESPONSEURL}<br />
<br />
View statistics by clicking here:<br />
{STATISTICSURL}<br />
<br />
<br />
The following answers were given by the participant:<br />
{ANSWERTABLE}]]></email_admin_responses>
    <surveyls_numberformat><![CDATA[0]]></surveyls_numberformat>
   </row>
  </rows>
 </surveys_languagesettings>
 <themes>
  <theme>
   <sid>286214</sid>
   <template_name>fruity</template_name>
   <config>
    <options>inherit</options>
   </config>
  </theme>
 </themes>
 <themes_inherited>
  <theme>
   <sid>286214</sid>
   <template_name>fruity</template_name>
   <config>
    <options>
     <ajaxmode>off</ajaxmode>
     <brandlogo>on</brandlogo>
     <brandlogofile>themes/survey/fruity/files/logo.png</brandlogofile>
     <container>on</container>
     <backgroundimage>off</backgroundimage>
     <animatebody>off</animatebody>
     <bodyanimation>fadeInRight</bodyanimation>
     <bodyanimationduration>500</bodyanimationduration>
     <animatequestion>off</animatequestion>
     <questionanimation>flipInX</questionanimation>
     <questionanimationduration>500</questionanimationduration>
     <animatealert>off</animatealert>
     <alertanimation>shake</alertanimation>
     <alertanimationduration>500</alertanimationduration>
     <font>noto</font>
     <bodybackgroundcolor>#ffffff</bodybackgroundcolor>
     <fontcolor>#444444</fontcolor>
     <questionbackgroundcolor>#ffffff</questionbackgroundcolor>
     <questionborder>on</questionborder>
     <questioncontainershadow>on</questioncontainershadow>
     <checkicon>f00c</checkicon>
     <animatecheckbox>on</animatecheckbox>
     <checkboxanimation>rubberBand</checkboxanimation>
     <checkboxanimationduration>500</checkboxanimationduration>
     <animateradio>on</animateradio>
     <radioanimation>zoomIn</radioanimation>
     <radioanimationduration>500</radioanimationduration>
     <zebrastriping>off</zebrastriping>
     <stickymatrixheaders>off</stickymatrixheaders>
     <greyoutselected>off</greyoutselected>
     <hideprivacyinfo>off</hideprivacyinfo>
     <crosshover>off</crosshover>
     <showpopups>1</showpopups>
     <showclearall>off</showclearall>
     <questionhelptextposition>top</questionhelptextposition>
     <notables>1</notables>
    </options>
   </config>
  </theme>
 </themes_inherited>
</document>
sample_survey-forBugReport.lss (25,834 bytes)   
gabrieljenik

gabrieljenik

2023-01-24 20:35

manager   ~73548

We tried to reproduce it and we cou;dn't. The response is submitted without a problem.
Can you please try again?

gabrieljenik

gabrieljenik

2023-01-25 14:49

manager   ~73560

We reproduced it at last. Error is on the console.

GintarasG

GintarasG

2023-01-25 23:15

reporter   ~73568

@gabrieljenik - thank you for the update.
Sorry for late response, looking forward for this issue to be resolved, as for now I've disabled phone validation on input.

DenisChenu

DenisChenu

2023-01-26 11:44

developer   ~73579

We reproduced it at last. Error is on the console.

Seems all value are considered as potential number in LEMval : https://github.com/LimeSurvey/LimeSurvey/blob/c039bb713987c46b111813c4fe61d02ca54cf6c1/assets/packages/expressions/em_javascript.js#L952

It's really an issue : it must be done only for real number … using attr.onlynum https://github.com/LimeSurvey/LimeSurvey/blob/c039bb713987c46b111813c4fe61d02ca54cf6c1/assets/packages/expressions/em_javascript.js#L1228

gabrieljenik

gabrieljenik

2023-02-07 16:40

manager   ~73721

@DenisChenu, do you want to take it?

DenisChenu

DenisChenu

2023-02-08 09:58

developer   ~73722

I already have a look some month ago, with just delete the automatic system … but don't find the good way to check if value can be used as decimal …

You have a staring point Idea ?

Else : i can start to work on it only in march …

gabrieljenik

gabrieljenik

2023-02-08 18:36

manager   ~73760

One lead could be that the Decimal library needs an update.
It is very old.
The issue has been reported and fixed.
https://github.com/MikeMcl/decimal.js/issues/93

Still, we need to be carefull as it seems it is failing in a zone related to a complicated issue 14337

Thoughts?

DenisChenu

DenisChenu

2023-02-09 08:17

developer   ~73763

Seems cool

Else the issue about Expression Manager is here : https://bugs.limesurvey.org/view.php?id=13881

When entering 1.1 in a short text question : if show the value inside same page : 1,1. In another page 1.1 (in french and other , for separator)

Showing 1,1 is an issue because it's a short text not a number.

gabrieljenik

gabrieljenik

2023-02-16 15:55

manager   ~73861

The error can't be reproduced anymore.

Not sure if that's enough considering the lib update.

image.png (25,838 bytes)   
image.png (25,838 bytes)   
guest

guest

2023-02-22 11:00

viewer   ~73925

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=34337

LimeBot

LimeBot

2023-02-27 11:34

administrator   ~73957

Fixed in Release 5.6.8+230227

Related Changesets

LimeSurvey: master a270e818

2023-02-22 12:00

Gabriel Jenik

Committer: GitHub


Details Diff
Fixed issue 18527: Can't validate phone number usign Regex if phone number starts with + (#2900)

Co-authored-by: lapiudevgit <devgit@lapiu.biz>
Affected Issues
18527
mod - vendor/decimal/decimal.js Diff File
mod - vendor/decimal/decimal.min.js Diff File

Issue History

Date Modified Username Field Change
2022-11-29 23:58 GintarasG New Issue
2022-11-29 23:58 GintarasG File Added: bug-report-2.png
2022-11-29 23:58 GintarasG File Added: bug-report-3.png
2022-11-29 23:58 GintarasG File Added: bug-report-1.png
2022-11-30 09:01 DenisChenu Note Added: 72941
2022-11-30 09:01 DenisChenu Bug heat 0 => 2
2022-12-01 00:35 GintarasG Note Added: 72952
2022-12-01 00:35 GintarasG File Added: sample_survey-forBugReport.lss
2022-12-01 00:35 GintarasG Bug heat 2 => 4
2023-01-24 20:35 gabrieljenik Status new => feedback
2023-01-24 20:35 gabrieljenik Note Added: 73548
2023-01-24 20:35 gabrieljenik Bug heat 4 => 6
2023-01-25 14:49 gabrieljenik Assigned To => gabrieljenik
2023-01-25 14:49 gabrieljenik Status feedback => confirmed
2023-01-25 14:49 gabrieljenik Note Added: 73560
2023-01-25 23:15 GintarasG Note Added: 73568
2023-01-26 11:44 DenisChenu Note Added: 73579
2023-02-07 16:40 gabrieljenik Note Added: 73721
2023-02-08 09:58 DenisChenu Note Added: 73722
2023-02-08 18:36 gabrieljenik Note Added: 73760
2023-02-09 08:17 DenisChenu Note Added: 73763
2023-02-09 08:17 DenisChenu Relationship added related to 13881
2023-02-16 15:55 gabrieljenik Note Added: 73861
2023-02-16 15:55 gabrieljenik File Added: image.png
2023-02-16 15:56 gabrieljenik Status confirmed => in testing
2023-02-16 15:56 gabrieljenik Assigned To gabrieljenik => ollehar
2023-02-16 15:56 gabrieljenik Status in testing => feedback
2023-02-22 11:00 Changeset attached => LimeSurvey master a270e818
2023-02-22 11:00 guest Note Added: 73925
2023-02-22 11:00 guest Bug heat 6 => 8
2023-02-22 11:03 ollehar Status feedback => resolved
2023-02-22 11:03 ollehar Resolution open => fixed
2023-02-27 11:34 LimeBot Note Added: 73957
2023-02-27 11:34 LimeBot Status resolved => closed
2023-02-27 11:34 LimeBot Bug heat 8 => 10