проверки в MVC2 / MVC3 без DataAnnotations - PullRequest
0 голосов
/ 29 февраля 2012

Можем ли мы проверить форму, в которой есть несколько текстовых полей, и я хочу проверить их для обязательного поля и т. Д., Используя функции javascript на той же странице (.aspx / .cshtml).

Я не хочу использовать аннотации данных в модели.

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Только проверка на клиенте - плохая идея и небезопасная.Вам необходимо ВСЕГДА выполнять проверку на стороне сервера и выполнять проверку на стороне клиента только как «приятно иметь».В противном случае проверку может обойти любой злоумышленник, просто обойдя клиентский сценарий.

Существует несколько способов выполнить проверку на стороне сервера (и клиента) без аннотаций данных.Вы можете использовать Метаданные классов "приятелей" и применять атрибуты к классу друзей.Или вы можете использовать Fluid Validation .Вы также можете использовать IValidatableObject.Вы действительно действительно должны использовать какую-то проверку на стороне сервера.

0 голосов
/ 29 февраля 2012

В mvc 3, с аннотациями данных модели Вы можете выполнять валидацию JavaScript на стороне клиента. Он использует скрипт проверки jquery для проверки.

в ASP.NET MVC 3 Beta, мы обновили среду выполнения, чтобы включить функцию мы называем «ненавязчивая проверка клиентов». Мы также создали потребитель для этих ненавязчивых атрибутов проверки клиента, который использует jQuery и jQuery Validate для выполнения проверки от нашего имени.

http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html

Вы никогда не должны полагаться только на проверку на стороне клиента. Делать как на стороне клиента, так и на стороне сервера. Что если кто-то заходит на ваш сайт из отключенного JavaScript-браузера?

...