You are here

public function CvCoreMaximumLengthValidator::getJavascriptSettings in Clientside Validation 7.2

Overrides ClientsideValidationValidator::getJavascriptSettings

File

plugins/validator/maximumlength.inc, line 22

Class

CvCoreMaximumLengthValidator

Code

public function getJavascriptSettings(array &$element, array &$form_state) {
  if ($element['#type'] == 'select') {
    $max = count($element['#options']);
    if (isset($element['#entity_type'])) {
      $field = field_widget_field($element, $form_state);

      // If field cardinality equals 1, only one option can be selected.
      // If field cardinality is unlimited, it is set to -1.
      if ($field['cardinality'] > 1) {
        $max = $field['cardinality'];
      }
    }
  }
  else {
    $max = $element['#maxlength'];
  }
  $name = $this
    ->getName($element);
  $element['#cv_data']['maxlength'] = $max;
  return array(
    'rules' => array(
      $name => array(
        'maxlength' => (int) $max,
      ),
    ),
    'messages' => array(
      $name => array(
        'maxlength' => $this
          ->getMessage($element),
      ),
    ),
  );
}