2016-03-06 2 views
0

У меня есть этот код проверки, который работает нормально, когда я помещаю текст в поле числа, но когда я ставлю значение ниже 1, которое установлено в правилах как min, не появляется сообщение даже он долженправила для значения min, не работающего с jquery validate

jQuery(function() { 
    $('#payment_amount').validate({ 
     lang: 'sk', 
     rules: { 
      "payment[amount]": { 
      required: true, 
      min: 1, 
      max: 9999999 
      } 
     }, 
     highlight: function(element) { 
      $(element).parent().addClass('state-error'); 
     }, 
     unhighlight: function(element) { 
      $(element).parent().removeClass('state-error'); 
     } 
     }); 
    }); 

Когда я использую тот же код на другой странице с номером входного типа, проверка минимального значения работы

это, как я создаю мой поле ввода

<%= f.number_field :amount, :style=>"-moz-appearance:textfield;", :required=> true %> 

в nd это html

<input type="number" id="payment_amount" name="payment[amount]" required="required" style="-moz-appearance:textfield;" aria-required="true" novalidate="novalidate" aria-invalid="false"> 

Я пропустил что-то?

ответ

0

нормально, я нашел решение не знаю почему, но даже стандартная проверка работает на #element, мин значение работает только тогда, когда я использую форму как элемент, не #INPUT поля

$('form').validate({ 
    lang: 'sk', 
    rules: { 
     'payment[amount]': { 
     min: 1 
     } 
    }, 
    highlight: function(element) { 
     $(element).parent().addClass('state-error'); 
    }, 
    unhighlight: function(element) { 
     $(element).parent().removeClass('state-error'); 
    } 
    }); 
+0

Вы присоединяете метод '.validate()' к элементу 'form' для инициализации плагина в вашей форме; поэтому каждое поле 'name' указано в объекте' rules'. – Sparky

0

вы прикрепили метод .validate() к вашему полю ввода с id="payment_amount" ...

$('#payment_amount').validate({ 
    lang: 'sk', 
    rules: { 
     "payment[amount]": { 
     ... 

Однако, вы должны прикрепить метод .validate() к form элементу инициализации ialize плагин на вашей форме; поэтому каждое поле name указано в объекте rules.

$('#my_form_id').validate({ // <- attach to the form; these are the options for this form 
    lang: 'sk', 
    rules: { 
     "payment[amount]": { // <- the field name is specified here 
     ... 
Смежные вопросы