导致这些字段验证的原因是什么?

时间:2018-02-13 13:15:16

标签: c# asp.net-mvc entity-framework validation asp.net-ajax

我的表单中有很多字段。当它们被提交时(通过ajax)下拉,其中一个文本字段变为红色以表示它们是空的。

没有其他字段以这种方式验证,我没有在ViewModel中设置任何验证规则。

有谁知道造成这种情况的原因是什么? 谢谢。

更新:此验证似乎发生在所有数字字段上(即提交了长整数字段)

enter image description here

2 个答案:

答案 0 :(得分:1)

int字段应该在html中输入number,并且它应该提交0,如果它是文本,则提交null值,null无法绑定int,这就是您收到验证错误消息的原因

如果需要保存空值,则需要将其设为nullable int(即int?);

答案 1 :(得分:0)

在MVC中,默认情况下,int,long,double,bool等非可空字段将具有所需的验证,即使它们未使用required属性进行修饰。

要允许空值并删除验证,您可以将字段类型更改为可为空的,例如长?,int ?,布尔?等