zoukankan      html  css  js  c++  java
  • struts2验证规则validation配置文件命名方式总结

    1、Action级别校验命名格式:

    ActionClassName-validation.xml
    

    2、Action中某个方法的校验命名格式:

    ActionClassName-ActionAliasName-validation.xml
    

    注意:这里的ActionAliasName(action别名)指的是struts.xml中Action name="XX"的xx的名称,而不是method="XX"的名称。

    3、如果以上2个校验文件都存在,那么2个文件都会被执行;如果2个校验文件中的校验属性相同那么将被执行同校验属性中ActionClassName-ActionAliasName-validation.xml中的校验规则。

    4、在使用visitor校验器的时候,<message>out</message>必须要配置且out消息必须得写,否则会报空指针错误。

    5、visitor校验器配置方法,这里不详细列举。仅说明其用途:如果几个Action同时用到一个模型类,都要验证这个模型类中的某个属性。那么只需要配置这个模型类的验证文件,然后以visitor校验器的方式在Action的验证文件中引用模型类的验证文件名即可。

    例如:模型类的验证文件名叫:User-userContext-validation.xml,Action的验证文件名件中引用如下:

    <field name="user">  
       <field-validator type="visitor">  
           <param name="context">userContext</param>  
           <param name="appendPrefix">true</param>  
           <message>out</message>        
       </field-validator>  
    </field> 
    

    6、采用非字段校验器配置格式, 配置示例:

    <validators>
        <!--使用非字段校验器风格;来配置字段表达式校验器-->
        <validator type="fieldexpression">
            <!--指定校验字段pass-->
            <param name="fieldName">pass</param>
            <!--指定逻辑表达式-->
            <param name="expression"><![CDATA[(pass == rpass)]]</param>
            <!--指定校验失败的提示信息-->
            <message>两个密码必须相同!</message>
        </validator> 
    </validators>
    

    7、采用字段校验器配置格式, 配置示例:

    <validators>
        <!--使用字段校验器格式来配置字段表达式校验器,校验pass属性-->
        <field name="pass">
             <field-validator  type="fieldexpression">
              <!--指定逻辑表达式-->
              <param name="expression"><![CDATA[(pass == rpass)]]</param>
              <!--指定校验失败的提示信息-->
              <message>两个密码必须相同!</message>
             </field-validator>     
        </field>
    </validators>
  • 相关阅读:
    Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
    Android Unresolved Dependencies
    Android studio 自定义打包apk名
    Android Fragment与Activity交互的几种方式
    魅族和三星Galaxy 5.0webView 问题Android Crash Report
    Android几种常见的多渠道(批量)打包方式介绍
    Android批量打包 如何一秒内打完几百个apk渠道包
    上周热点回顾(9.30-10.6)团队
    上周热点回顾(9.23-9.29)团队
    上周热点回顾(9.16-9.22)团队
  • 原文地址:https://www.cnblogs.com/tandy/p/5543705.html
Copyright © 2011-2022 走看看