1

Я использую ASP.NET MVC, и у меня есть jQuery, jQuery validate, jQuery validate.config, jQuery проверять ненавязчивые, ненавязчивые ajax и другие библиотеки в моем комплекте. У меня есть форма на моей странице и есть некоторые поля внутри нее. У этого есть кнопка кнопки типа, и когда пользователь нажимает кнопку, я пытаюсь сделать кое-что, а затем делаю $(form).submit(), который я хочу, чтобы он был перехвачен субмендантом в методе проверки jQuery и вместо отправки формы сделает сообщение ajax на моем сервере. Причина, по которой я хочу использовать метод jQuery.validate, заключается в том, что у меня есть много условных обязательных полей и других валидаций внутри формы. Но по какой-то причине проверка jQuery не выполняется/вообще не запускается, и форма отправляется вместо того, чтобы перехватываться обработчиком отправки. Я понятия не имею, почему он не работает, если я правильно настрою все. Вот мой вызов метода проверки jQuery. Я никогда не вижу, чтобы предупреждение было хорошим.jQuery Validate не выполняется

$('form[name="submitCheckoutForm"]').validate({ 
    debug: true, 
    rules: { 
     "Password": { 
      required: true 
     } 
    }, 
    submitHandler: function (form) { 
     //actions.SubmitCheckout(); 
     alert('is good'); 
     return false; 
    } 
}); 
+0

Где код вашей кнопки? Добавьте код HTML для кнопки –

+0

Пример фрагмента поможет. –

ответ

1

Если вы используете Ненавязчивый Validation плагин, то вы не можете также вызвать .validate() метод JQuery Validate в.

Почему?

  1. ненавязчивым Validation плагин автоматически строит метод .validate() на основе различных атрибутов данных в вашей форме.

  2. Плагин jQuery Validate не позволяет вызывать метод .validate() более одного раза в той же форме. Поэтому, поскольку вы уже используете Unobtrusive Validation для построения .validate(), ваш другой вызов .validate() будет полностью проигнорирован.

+0

Я предполагаю, что единственный способ сделать это - добавить и удалить требуемый атрибут в зависимости от условия? Поскольку я не планирую удалить ненавязчивый плагин. – Jesus

+0

@Jesus, это должно работать. – Sparky

+0

Спасибо Sparky – Jesus

0

Пожалуйста, используйте required attribute вместо

<input type="password" required> 
+0

Я не могу этого сделать, так как это требуется только при определенных условиях. – Jesus

Смежные вопросы