使用MVC3,您有两个新的机制添加自定义验证。这些是(1)子类ValidationAttribute或(2)实现IValidatableObject。
ValidationAttribute允许您通过实现IClientValidatable(并通过jQuery注册新的适配器和方法)相对简单地添加客户端验证。
IValidatableObject更适合于一次性验证要求,其中重用不是一个选项。它还导致slighlty更简单的代码。因此,这将是我的选择在一些情况。不幸的是,我没有看到一个简单的方法来实现客户端验证使用这种方法。
所以问题是我缺少什么和你如何使用IValidatableObject时获得JS验证?
解决方法
由于我没有得到一个(有效的)答案,我问一些来自微软的人,他们确认,这是不是目前可能。
Brad Wilson:
At this time,only property level validators can emit client-side
validation (as that lines up much better with the idea of input
validation in the form of the browser… there is no “model” to speak
of,from the browser’s point of view).
Stuart韭菜:
I don’t believe you can hook up client validation with IValidatableObject