zoukankan      html  css  js  c++  java
  • 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页

  • 相关阅读:
    数组的处理
    bootstrap 列的排序
    bootstrap 偏移
    mysql数据库创建、删除数据库
    Spring 加载配置文件的方式
    MyBatis DAO层传递参数到mapping.xml 几种方式
    Python 正则表达式
    Python 之定时器
    Python学习
    获取鼠标经过位置的X、Y坐标
  • 原文地址:https://www.cnblogs.com/zhaow/p/9753929.html
Copyright © 2011-2022 走看看