• MVC模型验证


    一、在动作方法中执行验证
    Controller中使用ModelState.AddModelError()方法在验证中根据条件输出错误信息。
    如: ModelState.AddModelError("UserName", "用户名不能为空");
    需要注意的是,这句生成的是属性级错误,因为AddModelError的第一个参数指定的是被验证的属性名;
    如果要改成模型级错误,则保持第一个参数为空,如:ModelState.AddModelError("", "用户名不能为空");

    属性级错误和模型级错误
    属性级错误是显示在 字段后面
    模型级错误是统一显示在页面指定的位置
    (自己总结:模型级错误用处就是动作方法中逻辑处理过程需要抛出的错误)
    如图所示:

    对应的cshtml页面代码:

     
    Html.ValidationSummary()辅助器默认会显示所有错误,包括模型级错误和属性级错误。
    重载 Html.ValidationSummary(true),boolean值为true代表只显示模型级错误,忽略属性级错误,如:

     可以看到,现在它忽略了属性级错误,只会显示模型级的。

    二、在模型类中执行验证
    在模型类中通过 验证注解属性 来指定验证规则,验证注解属性有内建的默认模型绑定器DefaultModelBinder进行检测并强制执行。
    在对模型类运用绑定过程的任何地方都会强制执行验证规则,而不只存在于个别方法中。
    内建的验证注解属性有:
    Compare
    Range
    RegularExpression
    Required
    StringLength

    三、其他验证方式
    除了以上两种之外,还有其他的方式进行模型验证,如:
    1、在模型绑定器中验证;
    2、创建自验证模型;
    详见《精通ASP.NET MVC3框架》485页、492页

  • 相关阅读:
    从0开始学Swift笔记整理(二)
    从0开始学Swift笔记整理(一)
    JAVA反射机制
    Spring基础知识汇总
    关于类和对象的进一步讨论 C++
    C++ 共用体 枚举类型 所有
    自定义数据类型 C++ 结构体类型 共同体类型 枚举类型 类类型{}
    C++ 指针 引用 变量引用
    函数和指针 C++
    C++字符串与指针 所有的内容也就这么多了。
  • 原文地址:https://www.cnblogs.com/zhaow/p/9753929.html
Copyright © 2020-2023  润新知