public function CvWebformDateMinValidator::setDataAttributes in Clientside Validation 7.2
Overrides ClientsideValidationValidator::setDataAttributes
File
- clientside_validation_webform/
plugins/ validator/ webformdatemin.inc, line 64
Class
Code
public function setDataAttributes(array &$element, array &$form_state) {
$js_settings = $this
->getJavascriptSettings($element, $form_state);
if (isset($element['#year_start'])) {
$name = $this
->getName($element['year']);
foreach ($js_settings['rules'][$name] as $rulename => $rulearg) {
$element['year']['#attributes']['data-rule' . drupal_ucfirst(drupal_strtolower($rulename))] = is_object($rulearg) || is_array($rulearg) ? drupal_json_encode($rulearg) : $rulearg;
$element['year']['#attributes']['data-msg' . drupal_ucfirst(drupal_strtolower($rulename))] = $js_settings['messages'][$name][$rulename];
}
}
else {
$name = 'webform-component-' . str_replace('_', '-', implode('--', array_slice($element['#parents'], 1)));
foreach (array(
'day',
'month',
'year',
) as $child) {
$name = $this
->getName($element[$child]);
foreach ($js_settings['rules'][$name] as $rulename => $rulearg) {
$element[$child]['#attributes']['data-rule' . drupal_ucfirst(drupal_strtolower($rulename))] = is_object($rulearg) || is_array($rulearg) ? drupal_json_encode($rulearg) : $rulearg;
$element[$child]['#attributes']['data-msg' . drupal_ucfirst(drupal_strtolower($rulename))] = $js_settings['messages'][$name][$rulename];
}
}
}
}