Chinaunix首页 | 论坛 | 博客
  • 博客访问: 638130
  • 博文数量: 692
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4715
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:38
文章分类

全部博文(692)

文章存档

2011年(1)

2008年(691)

我的朋友

分类:

2008-10-17 13:48:51

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的时候才会装载.要小心.这点类似中的缺省构造函数

 

[1]   

【责编:Peng】

--------------------next---------------------

阅读(239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~