`
Riddick
  • 浏览: 632746 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

浅谈Struts2的内建校验器

阅读更多

Struts2已经为我们准备了一些内建校验器,我们可以直接使用它们,可以打开Struts2lib包下的xwork.jar包,在com\opensymphony\xwork2\validator\validators\default.xml文件中,我们可以看到Struts2的内建校验器。我们也可以开发自己的校验器。

方法如下:添加一个validators.xml文件在WEB\INF\classes目录下,validators.xml文件中的配置则同刚才说的Struts2的内建校验器的配置相同。再开发出自己的校验器类,在validators.xml中注册就可以了。如果在WEB-INF\classes目录添加了文件validators.xml文件,则Struts2不会再应用默认的校验器,因此这时需要将default.xml文件中的所有校验器都复制到validators.xml文件中。

 

Struts2的配置文件中可以看到Struts2有如下内建校验器:

 

1required 必填校验器,要求字段必须有值

 

2requiredstring 必填字符串校验器,要求必须有值且长度大于0,即不能是空字符串。默认会去掉字符串前后空格

 

3int 整数校验器,可以配置整数在指定的范围内

 

4double 双精度校验器,可以配置双精度数在指定的范围内

 

5date 日期校验器,可以配置日期在指定的范围内

 

6expression 表达式校验器,它是一个非字段校验器,当参数expression计算的值为true时,校验通过,否则返回提示。

 

7fieldexpression 字段表达式校验器,当参数expression计算的值为true时,校验通过,否则返回提示。它和6一样多用于在用户的两次输入中间进行判断,如下例:

 

<!-- 要校验的属性为rpass -->

    <field name="rpass">

    <!-- 使用fieldexpression校验器 -->

        <field-validator type="fieldexpression">

        <param name="expression"><![CDATA[(rpass == password)]]></param>

            <message>两次密码不相同!</message>

        </field-validator>

    </field>

  

 

8url 网址校验器,要求被检查的字段如果非空,则必须是合法的URL地址。78都是基于正则表达式来计算的,可能会随着技术的进步而不同,用户可以自己扩展。

 

9email 邮件地址校验器,要求被检查的字段如果非空,则必须是合法的邮件地址。

 

转载请注明出处:  程序员之家 http://www.sunxin.org/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics