在mvc 4剃刀引擎中不使用数据注释的验证
本文关键字:数据 注释 验证 mvc 剃刀 引擎 | 更新日期: 2023-09-27 18:18:42
我想在不使用数据注释的情况下执行验证,因为我在n层MVC 4剃刀架构中使用了EF。数据注解也不能用于EF控件。你们都可以在这里看到我的代码:
[HttpPost]
public ActionResult RegisterNewUser(CreateUser obj)
{
if (ModelState.IsValid)
{
//
}
}
和ModalState.Isvalid
不起作用。我该如何解决这个问题?
我认为您正在寻找的是DataAnnotation验证无法为您提供所需灵活性的情况。
例如,我需要一个地址,可以通过下拉选择或输入。如果其中一个输入的地址行在那里,那么所有的地址行都需要在那里。这很难单独使用DataAnnotations进行检查。
我过去所做的是在控件返回到控制器之后,但在ModelState之前进行验证。IsValid被选中。
允许在控制器
中自定义/复杂验证你可以用
ModelState.AddModelError("PostalCode", "The postal code is missing.");
来修改ModelState(使其无效),然后可以在检查ModelState后将控制权返回给视图。IsValid