快速业务通道

Struts2数据输入校验(2) —— XML验证 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ame="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> </validators> <!-- END SNIPPET: validators-default -->

其中,name是上面type需要引用的名字,而后面的class则是这些validator对应的类。这些类中大部 分都是自解释的,其中fieldexpression比较特殊,它提供了一种多个field之间比较值的机制。

2、param的值又是在哪里找到的呢?

param中的name值在上述类中被定义为属性。譬如说在类 com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator中(也就是 stringLength对应的处理类),就定义了

boolean trim;

int minLength,maxLength;

及它们的get/set方法。

3、message的注意事项

(1)每个field都必须拥有一个message;message错误信息最后是以addFieldError实现的,也就是说是 field一级的错误。

(2)message中可以引用param变量,引用格式为${param1},如上面的例子中对password验证失败的报错 信息。

(3)message的内容可以放到全局i18n属性文件中,并在message中以key属性值指定,比如上面例子中 对username验证失败的报错信息。

Struts2数据输入校验(2) —— XML验证(3)

时间:2011-07-22 BlogJava bacon

二、非字段校验/全局校验

全局校验和字段校验其实类似,使用的验证器也是那些。区别在于校验的方式和关注点不同:

1、字段校验先指定那个字段要校验,再指定用那些校验器来校验该字段;

2、全局校验不针对特定字段,先指定验证器,再来指定用该校验器校验那些字段。

基本示例如下:

<validators>    <validator type="requiredstring" short-circuit="true">      <param name="fieldName">username</param>      <param name="fieldName">password</param>      <param name="fieldName">password_confirmed</param>      <

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号