function clientside_validation_field_validation_clientside_validation_form_alter in Clientside Validation 7
Implements hook_clientside_validation_form_alter().
File
- clientside_validation_field_validation/
clientside_validation_field_validation.module, line 10 - Add clientside validation support for Field Validation
Code
function clientside_validation_field_validation_clientside_validation_form_alter(&$form, &$form_state, &$js_rules) {
$field_rules = array();
clientside_validation_field_validation_find_rules($form, $field_rules);
if (!empty($field_rules)) {
$form['#attached']['js'][] = drupal_get_path('module', 'clientside_validation_field_validation') . '/clientside_validation_field_validation.js';
if (module_exists('js')) {
// If JS module is enabled ensure the token for our module is available.
js_get_token('clientside_validation_field_validation', 'validate');
}
foreach ($field_rules as $rule) {
$element =& $form;
// Field validation 1.x
if (function_exists('field_validation_get_bundle_rules')) {
foreach ($rule['field']['#parents'] as $parent) {
$element =& $element[$parent];
}
clientside_validation_field_validation_after_build_recurse($form['#id'], $element, $form_state, $rule['rule'], $js_rules);
}
else {
$path = clientside_validation_array_key_path($rule['rule']['field_name'], $element);
if ($path !== FALSE) {
$element =& clientside_validation_array_path($form, $path);
clientside_validation_field_validation_after_build_recurse($form['#id'], $element, $form_state, $rule['rule'], $js_rules);
if (isset($element['#type']) && $element['#type'] == 'select') {
clientside_validation_field_validation_regular($form['#id'], $element, $rule['rule'], $js_rules);
}
}
}
}
}
}