custom/form_helper/form_helper_validation/form_helper_validation.module, line 384
form_helper_validation_validate_element($rule, $element, &$form_state)Execute element validation for any rule including custom rules for other modules.
$rule An associated array containing a rules regular expression (regex) or function (func) with an option error message.
$element
&$form_state
<?php
function form_helper_validation_validate_element($rule, $element, &$form_state) {
$options = $element['#element_validate_options'];
$title = ($element['#title']) ? $element['#title'] : $element['#name'];
$value = $element['#value'];
// Skip empty values since it validation should be handled by #required
if ( empty($value) ) {
return;
}
// Exit if data is valid
if ( _form_helper_validation_validate($rule, $value, $options) ) {
return;
}
// Set defautl t() params
$t_params = array(
'@type' => ($rule['type'])?t($rule['type']):t($rule_type),
'@value' => $value,
'@name' => $title,
);
// Add options to t() params
if ($options) {
foreach ($options as $key => $value) {
$t_params['@'. $key] = $value;
}
}
// Message
if ( $options['message'] ) { // Custom element validation message
$message = t($options['message'], $t_params);
}
else if ( $rule['message'] ) { // Custom rule validation message
$message = t($rule['message'], $t_params);
}
else { // Default validation message
$message = t("@name is not valid.", $t_params);
}
// Add optional example to message
if ( $rule['example'] ) {
$message .= ' ('. t('ex:') . $rule['example'] .')';
}
// Set form element's error message
form_error($element, $message);
}
?>