You are here

function _clientside_validation_set_minmax_html5 in Clientside Validation 7

2 calls to _clientside_validation_set_minmax_html5()
clientside_validation_html5 in clientside_validation_html5/clientside_validation_html5.module
clientside_validation_webform_after_build_recurse in clientside_validation_webform/clientside_validation_webform.module

File

clientside_validation_html5/clientside_validation_html5.module, line 106
Add clientside validation support for html5 elements

Code

function _clientside_validation_set_minmax_html5($name, $title, $min, $max, $step, &$js_rules, $message = '') {
  $title = variable_get('clientside_validation_prefix', '') . $title . variable_get('clientside_validation_suffix', '');
  if (drupal_strtolower($step) == 'any') {
    _clientside_validation_set_minmax($name, $title, $min, $max, $js_rules, $message);
  }
  elseif (isset($min) && $min !== '' && isset($max) && $max !== '') {
    $js_rules[$name]['Html5Range'] = array(
      $min,
      $max,
      $step,
    );
    if (empty($message)) {
      $variables = array(
        'message' => '!title field has to be greater than !min with steps of !step and smaller than !max.',
        'placeholders' => array(
          '!title' => $title,
          '!min' => $min,
          '!max' => $max,
          '!step' => $step,
        ),
        'error_type' => 'range',
        'element_name' => $name,
      );
    }
    else {
      $variables = array(
        'message' => $message,
        'error_type' => 'range',
        'element_name' => $name,
      );
    }
    $js_rules[$name]['messages']['Html5Range'] = theme('clientside_error', $variables);
  }
  elseif (isset($min) && $min !== '') {
    $js_rules[$name]['Html5Min'] = array(
      $min,
      $step,
    );
    if (empty($message)) {
      $variables = array(
        'message' => '!title field has to be greater than !min with steps of !step.',
        'placeholders' => array(
          '!title' => $title,
          '!min' => $min,
          '!step' => $step,
        ),
        'error_type' => 'min',
        'element_name' => $name,
      );
    }
    else {
      $variables = array(
        'message' => $message,
        'error_type' => 'min',
        'element_name' => $name,
      );
    }
    $js_rules[$name]['messages']['Html5Min'] = theme('clientside_error', $variables);
  }
  elseif (isset($max) && $max !== '') {
    $js_rules[$name]['Html5Max'] = array(
      $max,
      $step,
    );
    if (empty($message)) {
      $variables = array(
        'message' => '!title field has to be smaller than !max and must be dividable by !step.',
        'placeholders' => array(
          '!title' => $title,
          '!max' => $max,
          '!step' => $step,
        ),
        'error_type' => 'max',
        'element_name' => $name,
      );
    }
    else {
      $variables = array(
        'message' => $message,
        'error_type' => 'max',
        'element_name' => $name,
      );
    }
    $js_rules[$name]['messages']['Html5Max'] = theme('clientside_error', $variables);
  }
}