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. 正则表达式校验配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <validators> <!-- 添加对用户名的校验 --> <field name="user.username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空</message> </field-validator> <field-validator type="regex"> <param name="regex"><![CDATA[(\w{4,10})]]></param> <message>姓名要在4-10位之间</message> </field-validator> </field> <!-- 添加对密码的校验 --> <field name="user.password"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>密码不能为空</message> </field-validator> <field-validator type="regex"> <param name="regexExpression"><![CDATA[(\w{4,10})]]></param> <message>密码输入不合法,必须为长度在4~10之间的数字或者字母</message> </field-validator> </field> </validators>
其中以上配置文件中红色的属性是正确的。官方的Demo中的属性如下:
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <field name="bar"> <field-validator type="regex"> <param name="expression">[0-9],[0-9]</param> <message>The value of bar must be in the format "x, y", where x and y are between 0 and 9</message> </field-validator> </field> </validators>
如果属性配置成“expression”,将不能正确进行属性验证!
时间: 2024-10-02 21:52:46