`
Xue_zhang
  • 浏览: 10078 次
  • 性别: Icon_minigender_1
  • 来自: 邢台
社区版块
存档分类
最新评论

struts2注册xml验证

阅读更多
使用xml文件完成属性的验证

  一共有六个字段(也就是表单的六个属性).分别是 username ,password ,repassword ,age,birthday,graduation ..要求是 每个属性不能为空,前面三个必须在6到10个字符之间.年龄在1到150之间.birthday 为2001-01-01到2003-12-31之间,graduation在2005-01-01与2007-12-31之间..这些就是我们这节要实现的需求..

  当然,还有其他需求,比如password与repassword必须相等,还有bithday必须在graduation之前.

  配置xml文件.放在action 对应的包里面 包名是ActionName-validation.xml

  这里的规则是 "-validation.xml"部分固定...前面加上action类的类名...

  比如这里就是RegisterAction-validation.xml 代码如下

  <?xml version="1.0" encoding="UTF-8"?>

  <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator- 1.0.2.dtd">

  <validators>

  <field name="username">

  <field-validator type="requiredstring"> //表示输入字符串类型的要求 这里是空值的验证

  <param name="trim">true</param>//表示去空格为真.就是所有的字符串都要经过去字符串.这条默认,可以不写

  <message>username should not be blank!</message>//如果验证失败,显示的信息

  </field-validator>

  <field-validator type="stringlength">//表示字符串长度验证

  <param >6</param>

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

  <message>username should be between ${minLength} and ${maxLength}</message>

  </field-validator>

  </field>

  <field name="password">

  <field-validator type="requiredstring">

  <message>password should not be blank!</message>

  </field-validator>

  <field-validator type="stringlength">

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

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

  <message>password should be between ${minLength} and ${maxLength}</message>//注意这里可以用${}

  </field-validator>

  </field>

  <field >

  <field-validator type="requiredstring">

  <message>repassword should not be blank!</message>

  </field-validator>

  <field-validator type="stringlength">

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

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

  <message>repassword should be between ${minLength} and ${maxLength}</message>

  </field-validator>

  </field>

  <field name="age">

  <field-validator type="required">//注意,这里不是requiredstring.因为age不是字符串类型..其他类型都用required

  <message>age should not be blank!</message>

  </field-validator>

  <field-validator type="int">//同理,这里用 int

  <param name="min">1</param>

  <param name="max">150</param>

  <message>age should be between ${min} and ${max}</message>

  </field-validator>

  </field>

  <field name="birthday">

  <field-validator type="required">

  <message>birthday should not be blank!</message>

  </field-validator>

  <field-validator type="date">

  <param name="min">2001-01-01</param>

  <param name="max">2003-12-31</param>

  <message>birthday should be between ${min} and ${max}</message>

  </field-validator>

  </field>

  <field name="graduation">

  <field-validator type="required">

  <message>graduation should not be blank!</message>

  </field-validator>

  <field-validator type="date">

  <param name="min">2005-01-01</param>

  <param name="max">2007-12-31</param>

  <message>graduation should be between ${min} and ${max}</message>

  </field-validator>

  </field>

  </validators>

  注意,显示错误信息可以有addFieldError方法,还有addActionError方法.我们之前说的都是前面那个...这两个方法都会返回一个input 消息提示验证失败.区别在于,在<s:form>标签内只能显示addFieldError的错误信息.也就是说,如果你的validate方法里面是写addActionError 那么,只使用<s:form>将不显示错误信息.这个时候,我们就必须在JSP页面里面添加 <s:actionerror>标签..这样就会显示addActionError 里面的错误信息..

  配置文件的方法来验证返回的是addFieldError方法.也就是说,你可以在页面上加 <s:fielderror>标签,或者使用<s:form>标签.

  上面说的xml验证叫做属性验证..他用<field>标签对应需要的验证的属性..还有一种是非属性验证..他对应的是验证的方式.比如,我要验证<stringlength>.然后再子标签里说明需要验证哪几个属性.这种办法和属性验证是一样的.不多说了.估计我是不想用了.因为对于业务逻辑来说不清晰.

  还有一点.和之前实现validate方法是一样的,我这个xml文件是对于那个action来说是全局的.也就是说我调用那个action里的每一个方法都需要经过这个验证.很明显,这样也是不合理的.所以,struts里面你可以定义一个局部的xml文件来验证,你可以定义这样一个文件

  RegisterAction-test-validation.xml 其中.test表示,只有在调用RegisterAction里的test方法的时候才会调用这个xml文件进行验证..这个xml文件里面的写法和上面的一样.不多说了

  如果全局验证的和局部验证的都存在.那么两个都执行..顺序是先全局的,后局部的.和之前的validate也是一样的
分享到:
评论

相关推荐

    struts2官方例子7-表单验证 xml形式的验证

    struts2官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    Struts2验证框架的配置及validation.xml常用的验证规则

    Struts2验证框架的配置及validation.xml常用的验证规则

    struts2数据验证框架

    Struts2 验证框架 validation.xml 常用的验证规则

    struts2验证(xml)课件.ppt

    传智播客的 struts2验证(xml)课件.ppt 主要讲解 xml的相关配置,数据校验的知识,不错的参考资料。

    Struts2 validation.xml 经典验证

    列举了多种格式验证方法。如日期、字符、数字等

    struts.xml的错误解决办法

    struts.xml的错误解决办法,解决错误

    struts2 validation.xml 验证规则代码解析

    主要介绍了struts2 validation.xml 验证规则代码解析,具有一定借鉴价值,需要的朋友可以参考下

    struts2+json+jquery局部刷新实现注册验证

    struts2+json+jquery局部刷新实现注册验证,包括前台的用户名、密码、手机、身份证、邮箱(包含发邮件技术)、邮箱验证码、验证码的验证,用到的是json+jquery,后台则是用struts2+java类

    struts2验证框架

    struts2验证框架 在包下创建Action.validation.xml启动框架验证

    struts2学习笔记(1)

    1. struts2框架的引入 1)把struts2的相关jar包导入到项目中去 2)把struts2框架的配置文件struts.xml复制粘贴...话可以在struts2框架的核心jar包中找到.jar中有验证 struts.xml的dtd文件,在dtd文件中有这个声明的写法

    Struts————实现的验证登陆

    使用Struts做登录验证的步骤: 1 搭建环境: A 导包 B 建配置文件 struts-config.xml C 修改web.xml 2 建一个 ActionForm 3 建一个 Action 4 页面上面的事情

    struts2校验器_xml格式

    使用struts2验证form表单信息_xml格式

    struts2+spring整合登陆验证经典完整案例!

    struts2+spring整合登陆验证经典完整案例!期余JAR文件在struts2+spring整合登陆验证经典完整案例!(JAR)这个中,免积分下载! 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句...

    李兴华 struts2开发实战经典 源码

    在本课程讲解的时候主要结合Struts 2的核心优点以及从代码比较上讲解了和Struts 1的区别,随后又包含了Struts 2中提供的各个优秀技术,如转换器、验证框架等,而本书为了方便读者的开发,特别将Struts 2结合spring和...

    Struts2入门教程(全新完整版)

    (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何使用alt+/提示 4 6.实例 4 7.开启struts2自带的...

    Struts2 in action中文版

    10.1.2 Struts 2工作流中的验证框架 219 10.2 将动作关联到验证框架 222 10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的...

    struts2_validation

    Struts2提供了一些基于XWork Validation Framework的内建验证程序,它们大大简化了输入验证工作。 使用这些验证程序不需要编程,程序员只需要在一个XML文件里对验证程序应该如何工作做出声明就行了。需要声明的内容...

    struts2学习教程

    struts2学习教程包括:第一个Struts2程序,处理一个form多个submit,struts.xml常用配置解析,使用validate方法验证数据,使用Validation框架验证数据,在Action类中获得HttpServletResponse对象的四种方法,上传...

    struts2_validate

    Struts2验证应该包括验证器(需要xml配置)和Action中的validate()验证方法两种。后者很简单,只需要把 验证条件加进去就可以啦!

Global site tag (gtag.js) - Google Analytics