`
qilixiang012
  • 浏览: 202138 次
文章分类
社区版块
存档分类
最新评论

struts2 验证继承和验证短路效应

 
阅读更多

当框架开始处理时收集验证文件的位置:

SuperClass-validation.xml

SuperClass-aliasName-validation.xml

Interface-validation.xml

Interface-aliasName-validation.xml

ActionClass-validation.xml

ActionClass-aliasName-validation.xml

在定义验证时,应该基于这个结构在这个搜索列表的更高层定义通用的验证,这样允许你重用这些定义。


验证短路效应:

验证框架的一个有用特性是当一个给定的验证失败时它能够像短路一样停止后续验证。假如某个给定的字段定义了一系列验证。以password字段为例:

User-validation.xml文件中password字段验证器的声明:

<field name="password">

<field-validator type="stringlength" short-circuit="true">

<param name="maxLength">10</prarm>

<param name="minLength">6</param>

<message>Your password should be 6-10 characters.</message>

<field-validator type="passwordintergrity">

<param name="specialCharachers">$!@#?</param>

<message>Your password must contain one letter,one number,and one of the following "$<specialCharacters}".

</message>

</field-validator>

</field>

这里唯一追加的内容是short-circuit属性,把它设置为true。这样做的目的是想在stringlength检查失败的情况下不让passwordintegrity检查运行。没有必要浪费处理资源,也没有必要将另外一条错误信息追加到用户界面。注意,虽然这个short-circuit定义在一个字段验证器上,但是这个字段剩余的验证都会成为短路。如果在动作级别定义短路,那么所有验证都将成为短路。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics