struts2的validation框架

有兩種方式使用該框架:
1,把驗證集中Action的驗證文件中;當驗證的內容少或者不同的action驗證的內容重複性小的時候使用。
配置:在action所在目錄下面建立action類名-validation.xml文件
示例配置:
<validators>
    <field name="userBean.firstname">
        <field-validator type="requiredstring">
            <message>request firstname</message>
        </field-validator>
    </field>
     
  <field name="userBean.age">
        <field-validator type="required">
            <message>request integer</message>
        </field-validator>
    <field-validator type="int">
            <param name="min">1</param>
            <param name="max">150</param>
            <message>should between ${min} and ${max}</message>
    </field-validator>
   </field>
</validators> 



注意
a、userBean是action的成員變量名。
b、一個字段的多個驗證可以寫在一起,參見age
c、可以使用表達式引用設定的參數值,爲${參數名}的形式。

2,把驗證集中在bean的驗證文件中;當多個action都需要對相同的bean內容進行驗證的時候使用。
配置:這種方式把要具體驗證的bean的驗證項寫在另外一個validation文件中。需要兩個validation文件
示例配置:
第一個validation文件(與action同路徑):
<validators>
 <field name="userBean">
        <field-validator type="visitor">
            <param name="context">user</param>
            <param name="appendPrefix">true</param>
            <message key="appendPrefix">user''s </message>
        </field-validator>
    </field>
</validators> 
第二個validation文件(與bean同路徑)
<validators>
    <field name="firstname">
        <field-validator type="requiredstring">
            <message>request firstname</message>
        </field-validator>
    </field>
   <field name="age">
        <field-validator type="required">
            <message>request integer</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">150</param>
            <message>should between ${min} and ${max}</message>
        </field-validator>
    </field>
</validators>

注意的地方
a、userBean指定了action中變量的名字
b、visitor是固定寫法
c、user是另外一個validation文件的名字中的一部分
d、文件名命名:爲bean類名-context參數指定的值-validation.xml
e、文件中有字段名字的地方,不需要有userBean的前綴

     




發佈了27 篇原創文章 · 獲贊 40 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章