You are here

abstract class ClientsideValidationValidator in Clientside Validation 7.2

Hierarchy

Expanded class hierarchy of ClientsideValidationValidator

1 string reference to 'ClientsideValidationValidator'
clientside_validation_get_validator_instance in ./clientside_validation.module

File

includes/ClientsideValidationValidator.inc, line 3

View source
abstract class ClientsideValidationValidator {
  public function __construct() {
  }
  public function supports(array $element, array &$form_state) {
    $name = $this
      ->getName($element);
    return !empty($name) && isset($element['#title']);
  }
  public abstract function getJavascriptSettings(array &$element, array &$form_state);
  public function getName(array $element) {
    if (!isset($element['#name'])) {
      return '';
    }
    return isset($element['#multiple']) && $element['#multiple'] ? $element['#name'] . '[]' : $element['#name'];
  }
  public function jsFiles(array &$element) {
    return array();
  }
  public abstract function getMessage(array $element);
  public function setDataAttributes(array &$element, array &$form_state) {
    $js_settings = $this
      ->getJavascriptSettings($element, $form_state);
    $name = $this
      ->getName($element);
    foreach ($js_settings['rules'][$name] as $rulename => $rulearg) {
      $element['#attributes']['data-rule' . drupal_ucfirst(drupal_strtolower($rulename))] = is_object($rulearg) || is_array($rulearg) ? drupal_json_encode($rulearg) : $rulearg;
      $element['#attributes']['data-msg' . drupal_ucfirst(drupal_strtolower($rulename))] = $js_settings['messages'][$name][$rulename];
    }
  }

}

Members