繁体   English   中英

在MVC 4剃须刀引擎中进行验证而不使用数据注释

[英]Validation without using Data Annotation in mvc 4 razor engine

我想在不使用数据注释的情况下执行验证,因为我在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之后可以将控件返回到视图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM