You are here

public function CvHSValidator::setDataAttributes in Clientside Validation 7.2

Overrides ClientsideValidationValidator::setDataAttributes

File

clientside_validation_hierarchical_select/plugins/validator/hs.inc, line 45

Class

CvHSValidator

Code

public function setDataAttributes(array &$element, array &$form_state) {
  $js_settings = $this
    ->getJavascriptSettings($element, $form_state);
  foreach (element_children($element['hierarchical_select']['selects']) as $child) {
    if ($element['#config']['enforce_deepest'] || $child < 1) {
      $name = $this
        ->getName($element['hierarchical_select']['selects'][$child]);
      foreach ($js_settings['rules'][$name] as $rulename => $rulearg) {
        $element['hierarchical_select']['selects'][$child]['#attributes']['data-rule' . drupal_ucfirst(drupal_strtolower($rulename))] = is_object($rulearg) || is_array($rulearg) ? drupal_json_encode($rulearg) : $rulearg;
        $element['hierarchical_select']['selects'][$child]['#attributes']['data-msg' . drupal_ucfirst(drupal_strtolower($rulename))] = $js_settings['messages'][$name][$rulename];
      }
    }
  }
}