我正在使用实体框架,不知道如何添加[Required]
请记住,我无法更改数据库。并且更改设计器上的要求会导致错误匹配错误。
因此,通过我的控制器上的代码,我想检查字段是否为空,并发回模型状态错误。
但是,即使if
已注释掉,它仍然无效。
// if (myModel.myField == null)
ModelState.AddModelError("myField", "This field is Required");
// For some reason, it is still valid.
if (!ModelState.IsValid)
{
return View(myModel);
}
答案 0 :(得分:4)
使用视图模型(单独的类)而不是实体,并在那里标记字段Required
。这会产生一些开销(复制字段值,附加代码),但最好使用类来表示应用程序行为和域模型之间的不匹配,而不是硬编码调整。
这也允许使用相同的模型将行为传播到其他操作,而无需任何其他代码。