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>
  • 相关阅读:
    LINUX监控一:监控命令
    Kettle并行
    KETTLE集群搭建
    Solr报错Index locked for write for core '***'. Solr now longer supports forceful unlocking via 'unlockOnStartup'
    Solr json,xml等文件数据导入(添加索引)linux下操作
    python对solr进行查询、插入操作(GETPOST)
    Solr-5.3.1 dataimport 导入mysql数据
    解决MySQL数据导入报错Got a packet bigger than‘max_allowed_packet’bytes
    解决防火墙限制远程连接MySQL(导致错误10060可能之一)
    gensim加载word2vec训练结果(bin文件)并进行相似度实验
  • 原文地址:https://www.cnblogs.com/tandy/p/5543705.html
Copyright © 2011-2022 走看看