1. 程式人生 > >struts2驗證規則validation配置檔案命名方式總結

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>