You are here

class CvWebformValidationMaximumValidator in Clientside Validation 7.2

Hierarchy

Expanded class hierarchy of CvWebformValidationMaximumValidator

1 string reference to 'CvWebformValidationMaximumValidator'
webformvalidationmax.inc in clientside_validation_webform_validation/plugins/validator/webformvalidationmax.inc

File

clientside_validation_webform_validation/plugins/validator/webformvalidationmax.inc, line 14

View source
class CvWebformValidationMaximumValidator extends CvWebformValidationValidator {
  public function supports(array $element, array &$form_state) {
    if (!parent::supports($element, $form_state)) {
      return FALSE;
    }
    $rule = _clientside_validation_get_webform_validation_rules($element, $form_state['complete form'], $this->webform_rule);
    $minmax = explode('|', $rule['data']);
    return !empty($minmax[1]) && parent::supports($element, $form_state);
  }
  public function getJavascriptSettings(array &$element, array &$form_state) {
    $rule = _clientside_validation_get_webform_validation_rules($element, $form_state['complete form'], $this->webform_rule);
    $name = $this
      ->getName($element);
    $data = explode('|', $rule['data']);
    $element['#cv_data']['max'] = floatval($data[1]);
    return array(
      'rules' => array(
        $name => array(
          $this->js_rule => floatval($data[1]),
        ),
      ),
      'messages' => array(
        $name => array(
          $this->js_rule => $this
            ->getMessage($element),
        ),
      ),
    );
  }
  public function getMessage(array $element) {
    return t('!title has to be less than or equal to @max.', array(
      '!title' => $element['#title'],
      '@max' => $element['#cv_data']['max'],
    ));
  }

}

Members