【发布时间】:2012-02-16 10:59:20
【问题描述】:
这是一个描述(ASP.NET MVC 3):
我在默认值
true中有这个参数DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes(用调试器检查)-
我的模型中有值类型字段(
int、DateTime、decimal):public class MyModel { public int SomeField { get; set; } } -
当我将 empty 表单发布到此操作时(未指定
SomeField):public ActionResult Submit(MyModel request) { if (ModelState.IsValid) { .. } else { .. } } 我没有任何验证错误!在我看来这是合乎逻辑的——int 的默认值是
0。这是一个值。
问题:
如果我想强制这个值总是在请求中明确设置,我应该让它可以为空并在上面加上[Required],这样就可以了。但是DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes 是干什么用的?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 validation data-annotations