You are here

function clientside_validation_field_validation_find_rules in Clientside Validation 7

1 call to clientside_validation_field_validation_find_rules()
clientside_validation_field_validation_clientside_validation_form_alter in clientside_validation_field_validation/clientside_validation_field_validation.module
Implements hook_clientside_validation_form_alter().

File

clientside_validation_field_validation/clientside_validation_field_validation.module, line 94
Add clientside validation support for Field Validation

Code

function clientside_validation_field_validation_find_rules($form, &$field_rules) {
  if (isset($form['#entity_type']) && isset($form['#bundle'])) {
    $rules = array();
    if (function_exists('field_validation_get_bundle_rules')) {
      $rules = field_validation_get_bundle_rules($form['#entity_type'], $form['#bundle']);
    }
    else {
      ctools_include('export');
      $rules = (array) ctools_export_load_object('field_validation_rule', 'conditions', array(
        'entity_type' => $form['#entity_type'],
        'bundle' => $form['#bundle'],
      ));
    }
    if (!empty($rules)) {
      foreach ($rules as $rule) {
        $rule = (array) $rule;
        if (isset($form[$rule['field_name']])) {
          $field_rules[] = array(
            'rule' => $rule,
            'field' => $form[$rule['field_name']],
          );
        }
      }
    }
  }
  foreach (element_children($form) as $child) {
    clientside_validation_field_validation_find_rules($form[$child], $field_rules);
  }
}