我的表单中有很多字段。当它们被提交时(通过ajax)下拉,其中一个文本字段变为红色以表示它们是空的。
没有其他字段以这种方式验证,我没有在ViewModel中设置任何验证规则。
有谁知道造成这种情况的原因是什么? 谢谢。
更新:此验证似乎发生在所有数字字段上(即提交了长整数字段)
答案 0 :(得分:1)
int
字段应该在html中输入number
,并且它应该提交0,如果它是文本,则提交null
值,null
无法绑定int
,这就是您收到验证错误消息的原因
如果需要保存空值,则需要将其设为nullable int(即int?
);
答案 1 :(得分:0)
在MVC中,默认情况下,int,long,double,bool等非可空字段将具有所需的验证,即使它们未使用required属性进行修饰。
要允许空值并删除验证,您可以将字段类型更改为可为空的,例如长?,int ?,布尔?等