struts2验证规则validation配置文件命名方式总结

Posted 小唐糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于struts2验证规则validation配置文件命名方式总结的主要内容,如果未能解决你的问题,请参考以下文章

struts2验证框架

Struts2声明式验证相关问题

服务器端验证

struts2验证框架方法一

JAVA validation 后台参数验证

struts2:字段校验和非字段校验代码示例