struts2输入验证--验证框架(xml文件验证)

struts2验证框架分为字段(field校验--面向字段、字段优先)校验器和非字段(validator--校验面向validator、validator优先)校验器.

通过验证框架验证,只需要删除掉原来validate()方法中的内容(这篇blog是基于"struts2输入验证--validate()验证"的),再增加一个xml文件即可:一个Action对应一个验证xml(RegisterAction.class-->RegisterAction-validation.xml并在同一个包中,注意文件名的对应关系)

1.基于field的验证框架

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
  3. <validators>
  4.     <field name="username">
  5.         <field-validator type="requiredstring">
  6.             <message>username shouldn't be null!!!</message>
  7.         </field-validator>
  8.         
  9.         <field-validator type="stringlength">
  10.             <param name="minLength">6</param>
  11.             <param name="maxLength">10</param>
  12.             <message>username should be between ${minLength} and ${maxLength}</message>
  13.         </field-validator>
  14.     </field>
  15.     
  16.     <field name="password">
  17.         <field-validator type="requiredstring">
  18.             <message>password shouldn't be null!!!</message>
  19.         </field-validator>
  20.         
  21.         <field-validator type="stringlength">
  22.             <param name="minLength">6</param>
  23.             <param name="maxLength">10</param>
  24.             <message>password should be between ${minLength} and ${maxLength}</message>
  25.         </field-validator>
  26.     </field>
  27.     
  28.     <field name="repassword">
  29.         <field-validator type="requiredstring">
  30.             <message>repassword shouldn't be null!!!</message>
  31.         </field-validator>
  32.         
  33.         <field-validator type="stringlength">
  34.             <param name="minLength">6</param>
  35.             <param name="maxLength">10</param>
  36.             <message>repassword should be between ${minLength} and ${maxLength}</message>
  37.         </field-validator>
  38.     </field>
  39.     
  40.     <field name="age">
  41.         <field-validator type="int">
  42.             <param name="min">1</param>
  43.             <param name="max">150</param>
  44.             <message>age should be between ${min} and ${max}</message>
  45.         </field-validator>
  46.     </field>
  47.     
  48.     <field name="birthday">
  49.         <field-validator type="required">
  50.             <message>birthday shouldn't be null!!!</message>
  51.         </field-validator>
  52.         
  53.         <field-validator type="date">
  54.             <param name="min">2001-01-01</param>
  55.             <param name="max">2003-08-08</param>
  56.             <message>birthday should be between ${min} and ${max}</message>
  57.         </field-validator>
  58.     </field>
  59.     
  60.     <field name="graduation">
  61.         <field-validator type="required">
  62.             <message>graduation shouldn't be null!!!</message>
  63.         </field-validator>
  64.         
  65.         <field-validator type="date">
  66.             <param name="min">2003-08-08</param>
  67.             <param name="max">2008-08-08</param>
  68.             <message>graduation should be between ${min} and ${max}</message>
  69.         </field-validator>
  70.     </field>
  71. </validators>

2.基于validator的验证框架

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
  3. <validators>
  4.     <validator type="requiredstring">
  5.         <param name="fieldName">username</param>
  6.         <param name="fieldName">password</param>
  7.         <param name="fieldName">repassword</param>
  8.         <message>username|password|repassword shouldn't be null!!!</message>
  9.     </validator>
  10.     
  11.     <validator type="stringlength">
  12.         <param name="fieldName">username</param>
  13.         <param name="fieldName">password</param>
  14.         <param name="fieldName">repassword</param>
  15.         <param name="minLength">6</param>
  16.         <param name="maxLength">10</param>
  17.         <message>username|password|repassword should be between ${minLength} and ${maxLength}</message>
  18.     </validator>
  19.     
  20.     <validator type="int">
  21.         <param name="min">1</param>
  22.         <param name="max">150</param>
  23.         <message>age should be between ${min} and ${max}</message>
  24.     </validator>
  25.     
  26.     <validator type="required">
  27.         <param name="fieldName">birthday</param>
  28.         <param name="fieldName">graduation</param>
  29.         <message>birthday|graduation shouldn't be null!!!</message>
  30.     </validator>
  31.     
  32.     <validator type="date">
  33.         <param name="fieldName">birthday</param>
  34.         <param name="fieldName">graduation</param>
  35.         <param name="min">2003-08-08</param>
  36.         <param name="max">2008-08-08</param>
  37.         <message>birthday|graduation should be between ${min} and ${max}</message>
  38.     </validator>
  39. </validators>

其他文件的内容不变(即和上一篇blog:validate()方法验证时的一致)

struts2与struts1不同,struts1在配置验证框架时需要配置struts-config.xml,但struts2在配置验证框架时不再需要配置struts.xml

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值