Моя недоумение заключается в том, что он сгенерирует достаточно метаданных для сценария на стороне клиента для автоматической проверки (с использованием jquery.validate).
Ваше понимание неверно.Вы не можете ожидать, что достаточно метаданных для генерации проверки клиента.В этом IsValid
методе вы можете делать абсолютно все.Вы можете даже вызвать неуправляемую библиотеку C ++ для проверки.Вы не можете ожидать, что ASP.NET MVC 3 отразит это на клиенте.
Вам необходимо реализовать IClientValidatable и добавить пользовательский адаптер, если вы хотите включить проверку клиента для такой пользовательской проверки.логика.В этом адаптере вы должны переопределить ту же логику, что и на сервере, но на этот раз используя javascript.
Вот один пример .А вот еще один .
Как вы можете видеть, проверка на стороне клиента отлично работает с некоторыми простыми правилами, такими как Required и прочее, но, как только вы начнете выполнять какую-либо реальную проверку, вам придется реализовать ее самостоятельно.