public function CvFAPIValidator::getRule in Clientside Validation 7.2
23 calls to CvFAPIValidator::getRule()
- CvFAPIAlphaDashValidator::getMessage in clientside_validation_fapi/
plugins/ validator/ fapialpha_dash.inc - CvFAPIAlphaNumericValidator::getMessage in clientside_validation_fapi/
plugins/ validator/ fapialpha_numeric.inc - CvFAPIAlphaValidator::getMessage in clientside_validation_fapi/
plugins/ validator/ fapialpha.inc - CvFAPICharsValidator::getJsArg in clientside_validation_fapi/
plugins/ validator/ fapichars.inc - CvFAPICharsValidator::getMessage in clientside_validation_fapi/
plugins/ validator/ fapichars.inc
File
- clientside_validation_fapi/
includes/ CvFAPIValidator.inc, line 47
Class
Code
public function getRule($element) {
$data = _fapi_validation_data('rules');
foreach ($element['#rules'] as $rule) {
$params = array(
$element['#value'],
);
$error_message = NULL;
// If $rule is an array, use error message if is set.
if (is_array($rule)) {
if (isset($rule['error'])) {
$error_message = $rule['error'];
}
if (!isset($rule['rule'])) {
drupal_set_message(t('Rule array with wrong structure on %field.', array(
'%field' => $element['#name'],
)), 'error');
continue;
}
$rule = $rule['rule'];
}
preg_match('/^(.*?)(\\[(.*)\\])?$/', $rule, $rs);
$rule = $rs[1];
// Parsing parameters.
if (isset($rs[3]) && $rs[1] != 'regexp') {
$params[] = preg_split('/ *, */', $rs[3]);
}
elseif (isset($rs[3])) {
$params[] = $rs[3];
}
if (count($params) > 1) {
$params = $params[1];
}
if (isset($data[$rule]) && $data[$rule]['callback'] == $this->fapi_rule_callback) {
return array(
'rule' => $data[$rule],
'params' => $params,
'error' => $error = is_null($error_message) ? $data[$rule]['error_msg'] : $error_message,
);
}
}
return FALSE;
}