這裏是一個描述(ASP.NET MVC 3):AddImplicitRequiredAttributeForValueTypes如何真正起作用以及它的作用是什麼?
我有這個參數
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes
默認值true
(與調試器檢查)我對價值型場我模型(
int
,DateTime
,decimal
):public class MyModel { public int SomeField { get; set; } }
當我發佈空形式這個動作(無
SomeField
指定):public ActionResult Submit(MyModel request) { if (ModelState.IsValid) { .. } else { .. } }
我沒有任何驗證錯誤!在我看來邏輯上 - int的默認值是
0
。這是一個價值。
問題:
如果我要強制該值始終expicitly在請求中設置我應該讓它爲空的,並把[Required]
就可以了,這個工程。但是DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes
是用於什麼?