С MVC3 у вас есть два новых механизма для добавления пользовательской проверки. Это (1) подкласс ValidationAttribute или (2) реализует IValidatableObject.IValidatableObject в MVC3 - проверка на стороне клиента
ValidationAttribute позволяет добавлять проверку на стороне клиента относительно просто, реализуя IClientValidatable (и регистрируя новый адаптер и метод через jQuery).
IValidatableObject больше подходит для одноразовых требований проверки, когда повторное использование не является вариантом. Это также приводит к простому простейшему коду. Поэтому это был бы мой выбор для ряда сценариев. К сожалению, я не вижу простого способа реализации проверки на стороне клиента с помощью этого метода.
Итак, вопрос в том, чего мне не хватает и как вы получаете проверку JS при использовании метода IValidatableObject?
Означает ли это, что нет простого способа подключить пользовательскую проверку JavaScript в представлении? Я хотел бы иметь простую функцию, которую я мог бы подключить к существующему механизму проверки на стороне клиента. – pauloya
[Сообщение на форуме ASP.NET] (http://forums.asp.net/post/5593598.aspx): * В настоящее время проверка jquery проверяет только поля ввода (без проверки уровня модели), поэтому нет естественного отображения для класса уровень проверки. Обычным способом добавления проверки уровня модели является добавление скрытого поля и проверка уровня модели карты на скрытый. * Http://stackoverflow.com/a/5817958/11683 демонстрирует этот подход - за исключением того, что поле не скрыто , – GSerg
Использование атрибута [Remote] на модели может помочь; Подробнее читайте здесь: http://msdn.microsoft.com/en-us/library/gg508808%28VS.98%29.aspx – Tohid