#c# #asp.net-mvc #asp.net-mvc-4 #asp.net-mvc-5 #unobtrusive-validation
#c# #asp.net-mvc #asp.net-mvc-4 #asp.net-mvc-5 #Ненавязчивая проверка
Вопрос:
У меня странное поведение в отношении моего ASP.Net Приложения MVC 5, которые я создаю в отношении ненавязчивой проверки на стороне клиента.
Я создал совершенно новый проект, обновил все пакеты Nuget и создал очень простую модель с 3 полями, которая использует entity Framework для подключения к базе данных sql. Представление было создано автоматически с использованием опции crud при создании представления из контроллера.
По сути, происходит то, что проверка на стороне клиента изначально не работает. Все поля в модели были помечены [Обязательно], но когда я удаляю значение, я не получаю сообщения об ошибке. Единственное сообщение об ошибке, которое я могу вызвать на стороне клиента, — это дата, если я ввожу букву. С целым числом, если я ввожу букву, я не получаю проверки на стороне клиента.
Однако, как только я нажимаю кнопку отправки, я получаю сообщения об ошибках. Кнопка отправки не отправляет весь путь обратно на сервер. Я поставил точки останова в приложении на HttpPost, и он не достигает этого, что говорит мне о том, что проверка на стороне клиента работает.
Теперь, когда это становится странным, после того, как я нажал кнопку отправки, ненавязчивая проверка на стороне клиента начинает работать для каждого элемента. Теперь все поля становятся обязательными, а сообщения об ошибках обновляются по назначению. Что может быть причиной того, что при первоначальной загрузке приложения оно не работает?
Комментарии:
1. похоже, вы вообще не используете проверку на стороне клиента. установлено
ClientValidationEnabled
значение true в ваших настройках приложений?2. да, и для этого, и для unobtrusivejavascriptenabled установлено значение true!
3. Это нормальное поведение плагина проверки jQuery… jqueryvalidation.org/documentation/… (контрольная точка 2)
4. Наверное, я думал, что он всегда будет проверять … но теперь, прочитав, кажется, что он работает так, как задумано. Спасибо!