我有用于容纳几个性质的ASP.NET MVC视图模型:允许非填充字段
- 主题
- 消息
- 标识
虽然主题和消息是必需的, Id不是必需的(它是隐藏的,只为现有条目设置 )。不幸的是,MVC根据需要验证它(即使我没有设置Required属性,If字段 也是必需的)。
有人解决?有没有在这里找到一个解决方案,也许只是寻找错误的...
亲切的问候, 萨沙
我有用于容纳几个性质的ASP.NET MVC视图模型:允许非填充字段
虽然主题和消息是必需的, Id不是必需的(它是隐藏的,只为现有条目设置 )。不幸的是,MVC根据需要验证它(即使我没有设置Required属性,If字段 也是必需的)。
有人解决?有没有在这里找到一个解决方案,也许只是寻找错误的...
亲切的问候, 萨沙
如果Id
是Int
...你可以尝试使Int?
(null的智力)。 如果它是nullabe,我认为MVC不会验证它。
另一种方法,将一个默认值放在那个隐藏的,让我们说一个“-1”...和在控制器上,你可以检查它。
如果你可以为空,它不检查。 – Sascha 2011-12-19 13:36:59
默认情况下,ASP.Net Mvc会将不可空的属性视为'required' - 即使您没有将该属性添加到属性。如果您的ID是int
类型 - 它是不可空的,因此是必需的。
您有两种基本选择:
int?
- 即一个可空INT。选项1很简单。选项2以下内容添加到Application_Start方法中在Global.asax的
DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = true;
我们可以看到你的模型? – 2011-12-18 18:51:12