科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件WebWork的强大的验证器(1)

WebWork的强大的验证器(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

webwork提供了强大的验证功能,下边一一介绍一些常用的功能的用法。

作者:中国IT实验室 来源:中国IT实验室 2007年8月21日

关键字: WebWork

  • 评论
  • 分享微博
  • 分享邮件
webwork提供了强大的验证功能,下边一一介绍一些常用的功能的用法。
一,首先webwork的validator是基于拦截器的,所以首先要配制一下拦截器,默认的拦截器,已经
使用了validator,如果你想定义自己的拦截器组合,记得在你的拦截器的stack中把这句话加入
<interceptor-ref name="validation">
    
<param name="excludeMethods">
        input,back,cancel,browse
    
</param>
</interceptor-ref>
二、是否使用自定义Validator:在一般情况下webwork提供的Validator已经能应付大多数问题,
但是如果你想自己定义,那么记得注册你的验证器(Validator),一个简单的注册办法是
添加一个文件名为 validators.xml 的文件在你的classpath (/WEB-INF/classes) 的根目录下
文件中的内容类似如下:
<validators>
    
<validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
    
<validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
    
<validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>
    
<validator name="double" class="com.opensymphony.xwork.validator.validators.DoubleRangeFieldValidator"/>
    
<validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>
    
<validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>
    
<validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>
    
<validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/>
    
<validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/>
    
<validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>
    
<validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>
    
<validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
    
<validator name="regex" class="com.opensymphony.xwork.validator.validators.RegexFieldValidator"/>
</validators>

注意:
1,validators.xml如果已经定义了,那么它应该在classpath中可以找到.然而如果不需要自定义的校验器,那么这不是必须的.WebWork会自动从发布包里的
xwork jar文件中取得一个事先定义好的校验器集合(com/opensymphony/xwork/validator/validators/default.xml).
浏览ValidatorFactory的static块来了解详细信息
2,如果自定义的校验器被定义了而且创建了一个validators.xml文件并放在classpath中,
记得复制所有其他你需要的预定义的校验器到validators.xml里,如果你不需要注册则不需要.
一旦validators.xml在classpath里被检测到,缺省的 (com/opensymphony/xwork/validator/validators/default.xml)
就不会被装载了.只有没发现自定义 validators.xml的时候才会装载.要小心.这点类似Java中的缺省构造函数

 

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章