1.短路验证:
对同一字段内的多个验证器,如果一个短路验证器失败,则其他验证器不会校验。
<vaildator...../>元素和<field-validator.../>元素可以指定一个可选的short-circuiot属性。该属性指定该验证器是否是短路验证器,默认值是false;
不同的字段使用相同的验证规则,而且使用同一条相应消息:可以在国际化资源文件中对错误信息进行覆盖
2.自定义验证器:
步骤:
(1) 定义一个验证器的类
自定义验证的类都需要实现Validator接口 。
- 若需要普通的验证程序, 可以继承 ValidatorSupport 类
- 若需要字段验证程序, 可以继承 FieldValidatorSupport 类
- 若验证程序需要接受一个输入参数, 需要为这个参数增加一个相应的属性(并提供set和get方法)
失败的话addFiledError;(添加错误信息)
(2)在配置文件中配置验证器
- 默认情况下,Struts2会在类路径的根目录下加载validators.xml文件,在该文件中加载验证器。该文件定义方式同默认的验证器的配置文件:位于com.opensymphony.xwork2.validator.validators.default.xml
- 如果类空间没有指定的验证器,则从com.opensymphony.xwork2.validator.validators.default.xml中验证器加载
- 首先先寻找validators.xml文件,没有则加载default.xml文件
(3)使用
和之前使用默认验证器相同