我正在使用MVC 4和Entity Framework 5来构建我的网站。为了在客户端验证数据,我使用数据注释。这是我在View Model中的属性:
public int Salary { get; set; }
如您所见,我没有在那里添加任何注释。此外,在我的数据库中,Salary
列标记为Allow null
。
我的问题是每当我提交表单时,由于此属性,ModelState
无效。它认为此属性是必需的,并在客户端显示错误。
你知道导致这个问题的原因吗?请帮我。非常感谢。
答案 0 :(得分:2)
您遇到的问题是因为默认构造函数将属性初始化为0.如果要允许空值,请执行以下操作:public int? Salary { get; set; }