С помощью ASP.Net Ненавязчивая проверка MVC3, можно ли активировать проверку в режиме реального времени перед отправкой формы?

#asp.net-mvc #jquery-validate

#asp.net-mvc #jquery-validate

Вопрос:

При использовании ненавязчивой проверки MVC3 пользователь изначально заполняет форму без какой-либо проверки. После отправки формы и возникновения ошибок проверки проверка выполняется в режиме реального времени, когда пользователь вводит данные и перемещается между полями. Возможно ли включить это поведение проверки в реальном времени перед отправкой формы?

Ответ №1:

Вы можете вызвать $form.valid() , чтобы проверить всю форму при загрузке страницы, но затем они получают сводку проверки вверху (при условии, что вы ее включили) вместе с сообщениями проверки рядом с каждым вводом.

Как насчет проверки каждого поля по мере его изменения? Вы могли бы прикрепиться к событию изменения следующим образом: $fields.change(function (event) { $(event.target).valid() }); который будет выполняться valid() в поле после его изменения. Вы, конечно, можете заменить другое событие для изменения, чтобы более точно соответствовать нужной вам функции.

Я не знаю официального способа точной имитации проверки после отправки…

Ответ №2:

Убедитесь, что для ClientValidationEnabled и UnobtrusiveJavaScriptEnable в вашем web.config установлено значение true.

 <add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
  

Комментарии:

1. Спасибо, Питер. Да, оба они верны. Проверка клиента работает, я просто хочу, чтобы она проверялась в ответ на события ввода и расфокусировки, как только страница загружается, а не после первого нажатия кнопки отправки.

Ответ №3:

Попробуйте это:

 var isValid = $('#formId').validate().form();