Как определить, почему ненавязчивая проверка не работает - PullRequest
1 голос
/ 01 сентября 2011

Есть ли способ отследить, почему не работает ненавязчивая проверка?

Я отключил все свои пользовательские валидаторы и просто использую валидаторы MVC, и все же он отправляет обратно на сервер для проверки, когда я нажимаю кнопку отправить..

Это сводит меня с ума.Единственное, о чем я могу думать, - это то, что у меня есть скрытый ввод, в котором нет атрибутов проверки, кроме [HiddenInput(DisplayValue = false)].

. Существует ли специальная функция javascript, в которую можно добавить точку останова, чтобы определить, какое поле являетсявызывает отправку формы?

РЕДАКТИРОВАТЬ:

Я просто понимаю, что только IE8 вызывает проверку на стороне сервера.IE9, FF и Chrome все в порядке.

РЕДАКТИРОВАТЬ 2:

Хорошо, это должно быть проблема с кешем или что-то в этом роде.В какой-то момент он снова заработал и продолжает работать даже после восстановления всего.

Извлеченный урок.Всегда очищайте свой кеш при появлении тупых проблем.

1 Ответ

3 голосов
/ 01 сентября 2011

Убедитесь, что у вас есть ссылки на следующие сценарии и правильный путь:

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

и что вы включили проверку на стороне клиента в своем файле web.config:

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

Другим важным аспектом является то, что если форма была введена в DOM в результате вызова AJAX, ненавязчивая проверка не будет прикреплена к ее элементам и не будет работать. Вам нужно будет прикрепить его вручную , используя метод $.validator.unobtrusive.parse в вашем успешном обратном вызове AJAX после внедрения его в DOM.

Также вкладка консоли FireBug может быть полезна для отображения потенциальных ошибок JavaScript с вашим кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...