public function CvCoreRequiredValidator::getJavascriptSettings in Clientside Validation 7.2
Overrides ClientsideValidationValidator::getJavascriptSettings
1 call to CvCoreRequiredValidator::getJavascriptSettings()
- CvCoreRequiredValidator::setDataAttributes in plugins/
validator/ required.inc
File
- plugins/
validator/ required.inc, line 20
Class
Code
public function getJavascriptSettings(array &$element, array &$form_state) {
$name = $this
->getName($element);
if ($element['#type'] == 'checkboxes') {
$settings = array();
$options = $element['#options'];
ksort($options);
reset($options);
$firstone = key($options);
$class = drupal_clean_css_identifier($this
->getName($element[$firstone]) . '_group');
$element['#attributes']['class'][] = $class;
foreach (array_keys($element['#options']) as $child) {
$settings['rules'][$this
->getName($element[$child])]['require_from_group'] = array(
1,
'.' . $class . ' input[type="checkbox"]',
);
$settings['messages'][$this
->getName($element[$child])]['require_from_group'] = $this
->getMessage($element);
$settings['groups'][$class][] = $this
->getName($element[$child]);
}
return $settings;
}
if ($element['#type'] == 'select') {
// Use blacklist to avoid the '_none' value used as empty value by Drupal.
$settings['rules'][$name]['blacklist'] = array(
'',
'_none',
);
$settings['messages'][$name]['blacklist'] = $this
->getMessage($element);
return $settings;
}
return array(
'rules' => array(
$name => array(
'required' => TRUE,
),
),
'messages' => array(
$name => array(
'required' => $this
->getMessage($element),
),
),
);
}