18 require_once dirname(__FILE__).
'/../../form_question_rule/form_question_rule.inc';
43 parent::__construct($assetid);
58 1 => translate(
'core_form_rule_regexp_true'),
59 0 => translate(
'core_form_rule_regexp_false'),
76 $operator = array_get_index($rule_data,
'operator', 1);
77 $value = array_get_index($rule_data,
'value',
'');
78 $case_sensitive = array_get_index($rule_data,
'case_sensitive', 1) ?
'' :
'i';
84 if (<?php echo ($operator == 1) ?
'!' :
''; ?>form.elements[
"q<?php echo $q_asset->id; ?>"].value.match(/<?php echo str_replace(
'/',
'\/', $value) ?>/<?php echo $case_sensitive; ?>)) {
85 submission_errors[submission_errors.length] =
"<?php
86 if (empty($rule_data['custom_text'])) {
87 echo addslashes($this->defaultError($q_asset, $rule_data));
89 echo addslashes($rule_data['custom_text']);
95 $contents = ob_get_contents();
119 $operator = array_get_index($rule_data,
'operator', 1);
121 $pattern =
'/'.str_replace(
'/',
'\\'.
'/', array_get_index($rule_data,
'value',
'')).
'/';
124 if (!array_get_index($rule_data,
'case_sensitive', 1)) {
128 $valid = (preg_match($pattern, $answer)) ? 1 : 0;
130 return ($valid == $operator);
146 $error_str = translate(
'core_form_rule_regexp_error', $q_asset->name);
164 $operator = array_get_index($rule_data,
'operator', 1);
165 $value = array_get_index($rule_data,
'value',
'');
168 $error_str = translate(
'core_form_rule_regexp_desc_'.($operator ?
'true' :
'false'), $q_asset->attr(
'name'), $value);