忽略[必需]数据注释

时间:2011-03-04 15:13:52

标签: asp.net-mvc validation

为什么MVC仍在验证此属性,因为我已将其排除在外?

...
[Required(ErrorMessage = "Please enter activation code")]
public string ActivationCode { get; set; }
...

[HttpPost]
public ViewResult CreateAccount([Bind(Exclude = "ActivationCode ")] AccountCreationViewModel m, string returnUrl)
...

2 个答案:

答案 0 :(得分:1)

您将此处的ActivationCode排除在能够绑定到您的视图模型之外。

然而,ModelBinding仍然会验证完整的模型。

我建议为您的目的创建一个新的ViewModel,或者根据Steve Sanderson建议的过滤器here

答案 1 :(得分:0)

不确定它是否与您所拥有的完全相同,但我已经做过类似的事情并且已经有效了。

[ValidateInput(true, Exclude="ActivationCode")]
[HttpPost]
public ViewResult CreateAccount(AccountCreationViewModel m, string returnUrl)
相关问题