18 require_once dirname(__FILE__).
'/../../form_question_rule/form_question_rule.inc';
45 parent::__construct($assetid);
62 1 => translate(
'core_form_rule_numeric_true'),
63 0 => translate(
'core_form_rule_numeric_false'),
82 static $printed_fn_required = FALSE;
83 static $printed_fn_not_required = FALSE;
85 $operator = array_get_index($rule_data,
'operator', 1);
88 $regex_code_not_required =
'/(^$)|(^[-+]?\d*\.?\d+$)/';
90 $regex_code_required =
'/^[-+]?\d*\.?\d+$/';
95 if (!$printed_fn_required && $q_asset->attr(
'is_required')) {
96 $printed_fn_required = TRUE;
99 function sq_form_validate_numeric_required(answer)
101 answer.replace(/,/,
"");
102 return answer.match(<?php echo $regex_code_required ?>);
107 }
else if (!$printed_fn_not_required) {
108 $printed_fn_not_required = TRUE;
111 function sq_form_validate_numeric_not_required(answer)
113 answer.replace(/,/,
"");
114 return answer.match(<?php echo $regex_code_not_required ?>);
124 if ($q_asset->attr(
'is_required')) {
126 if (<?php echo ($operator == 1) ?
'!' :
''; ?>sq_form_validate_numeric_required(form.elements[
"q<?php echo $q_asset->id; ?>"].value)) {
127 submission_errors[submission_errors.length] =
"<?php
128 if (empty($rule_data['custom_text'])) {
129 echo addslashes($this->defaultError($q_asset, $rule_data));
131 echo addslashes($rule_data['custom_text']);
136 }
else if (!$q_asset->attr(
'is_required')) {
138 if (<?php echo ($operator == 1) ?
'!' :
''; ?>sq_form_validate_numeric_not_required(form.elements[
"q<?php echo $q_asset->id; ?>"].value)) {
139 submission_errors[submission_errors.length] =
"<?php
140 if (empty($rule_data['custom_text'])) {
141 echo addslashes($this->defaultError($q_asset, $rule_data));
143 echo addslashes($rule_data['custom_text']);
149 $contents = ob_get_contents();
172 $operator = array_get_index($rule_data,
'operator', 1);
174 $valid = (is_numeric($answer)) ? 1 : 0;
175 return ($valid == $operator);
191 $operator = array_get_index($rule_data,
'operator', 1);
192 $error_str = translate(
'core_form_rule_numeric_desc_'.($operator ?
'true' :
'false'), $q_asset->attr(
'name'));