Проверка ASP.NET MVC 3: являются ли атрибуты DataAnnotation бесполезными, когда JavaScript отключен? - PullRequest
2 голосов
/ 11 мая 2011

Скотт Гатри писал о ASP.NET MVC 2: проверка модели чуть более года назад, и в своем посте контроллеры были украшены вызовами ModelState.IsValid-метода. С тех пор у нас был ASP.NET MVC 3, который включал довольно большие изменения в валидации .

Но требование вызова ModelState.IsValid остается прежним? Являются ли все атрибуты DataAnnotation бесполезными, если посетитель сайта отключил JavaScript и разработчик сайта забыл проверить значение ModelState.IsValid?

Если да, есть ли способ обойти это? Можно ли, например, зарегистрировать глобальный фильтр, который всегда запоминает проверку на достоверность модели, если кодер этого не делает?

1 Ответ

1 голос
/ 11 мая 2011

Функции проверки на стороне клиента будут отключены.Вот почему вы никогда не должны полагаться только на проверку на стороне клиента.Это не повлияет на подшивку модели, которая использует аннотации на сервере.Вот соответствующий текст из этого сообщения в блоге ...

Поскольку метод действия принимает объект Person в качестве параметра, ASP.NET MVC создаст объект Person и автоматически отобразит входящую форму.введите значения к нему.В рамках этого процесса он также проверит, действительны ли атрибуты проверки DataAnnotation для объекта Person.Если все верно, то проверка ModelState.IsValid в нашем коде вернет true - в этом случае мы (в конечном итоге) сохраним Person в базу данных и затем перенаправим обратно на домашнюю страницу.

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