有两种方式使用该框架:
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的前缀