MVC3:针对不同输入场景的不同验证

时间:2012-03-04 10:39:52

标签: asp.net asp.net-mvc asp.net-mvc-3 validation yii

我在php中广泛使用了框架,并且发现scenarios非常有用。 总而言之,方案允许您针对不同的视图使用不同的验证标准。

问题

我可以使用内置验证的mvc3,但对不同的视图有不同的验证标准。是否有内置函数?

解释

在其中一种形式中,我只想验证密码的更改,另一种形式我只想验证新的用户参数,而另一种地方只需要验证一些详细的数据输入。所有值都存储在同一个表中,但需要不同的输入值集

1 个答案:

答案 0 :(得分:2)

不,因为内置框架验证是基于属性的,如果您跨视图共享模型,则很难在运行时更改验证要求。

因此,您最好的选择是为每个视图创建不同的模型。

如果您需要在运行时将自定义验证应用于模型,则可以使用http://fluentvalidation.codeplex.com/

它不是内置的,但可以与现有的ASP.NET MVC验证组件一起使用,因此可以与不显眼的验证/模型状态等一起使用。