【发布时间】:2020-03-24 11:45:44
【问题描述】:
据我了解,当MvcOptions.SuppressImplicitRequiredAttributeForNonNullableReferenceTypes 设置为false 时,值类型隐含地具有[Required] 属性。但坦率地说,当我在两者之间切换时,我看不出有什么区别。
此外,如果我在不可为空的类型上显式使用[Required] 属性,例如int,它将要求我设置它的值,而不仅仅是点击没有给定 int 参数的端点,将为其类型分配一个默认值 - 0。
所以,总结一下:
如果隐式添加了
[Required]属性,为什么显式变体提供完全不同的功能?启用/禁用
MvcOptions.SuppressImplicitRequiredAttributeForNonNullableReferenceTypes是否有任何功能差异?据我所知,它并没有改变任何东西。
【问题讨论】:
-
这是关于“不可为空的引用类型”,
int是值类型
标签: c# asp.net-core model-view-controller data-annotations model-validation