- Struts 2.x权威指南
- 李刚编著
- 388字
- 2025-03-11 03:21:11
5.3.4 校验顺序和短路
校验器增加了短路特性后,校验器的执行顺序就变得非常重要了。因为前面执行的校验器可能阻止后面校验器的执行。
校验器的执行顺序有如下原则。
所有非字段校验器风格的校验器优先于字段校验器风格的校验器。
在所有的非字段校验器风格的校验器中,排在前面的会先执行。
在所有的字段校验器风格的校验器中,排在前面的会先执行。
校验器短路的原则如下。
所有的非字段校验器最优先执行,如果某个非字段校验器校验失败了,则该字段上的所有字段校验器都不会获得校验的机会。
非字段校验器校验失败,不会阻止其他非字段校验器的执行。
如果一个字段校验器校验失败后,则该字段下的且排在该校验器之后的其他字段校验器不会获得校验的机会。
字段校验器永远都不会阻止非字段校验器的执行。
如果应用中所需的校验规则非常复杂,用户可以有两个选择:开发自己的校验器,或者重写Action的validate方法。此时,用户完全可以按应用需求进行输入校验。