使模型无效

时间:2014-07-24 11:20:38

标签: asp.net-mvc asp.net-mvc-4 modelstate

我正在使用实体框架,不知道如何添加[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);
        }

1 个答案:

答案 0 :(得分:4)

使用视图模型(单独的类)而不是实体,并在那里标记字段Required。这会产生一些开销(复制字段值,附加代码),但最好使用类来表示应用程序行为和域模型之间的不匹配,而不是硬编码调整。

这也允许使用相同的模型将行为传播到其他操作,而无需任何其他代码。