Struts2校验器

验证器规则: 

1.      命名规则 : Action的名字-validation.xml

2.     继承的层次结构和接口由Action类来实现。Xwork搜索Action的继承树来查找Action的父类和实现的接口的默认验证。

3.      验证器可以组合使用

4.  路径:与验证的action同一路径

Struts2默认的验证功能 : 

下面列出struts2验证框架的验证器 : 

1.      数据转换验证器

2.      Date类型验证器

3.      Double类型验证器

4.      Email格式验证器

5.      表达式验证器

6.      字段表达式验证器 

7.      Int类型验证器

8.      正则表达式验证器 

9.      Required类型验证器

10.  Requiredstring类型验证器

11.  Stringlength验证器 

12.  URL验证器

13.  Visitor验证器 

 

 

下面将以Struts2中的RequiredString验证器为例.

RequiredString验证器检查String字段是不是null且长度是不是大于0(也就是说不能是"").在执行长度检查之前,trim参数就确定了字符串.默认情况下,字符串都会被修整(trim,除去字符串前后的空格)

如果用户在输入域什么都不填写就提交了表单, requiredString验证器就会生成错误信息.之后错误信息将显示给用户.

本例通过用户输入他的/她的user name的简单的数据输入表单来演示如何使用struts2的RequiredString验证器.按照下面的步骤创建例子程序 :

第一步 : 创建并添加下面的代码到struts.xml文件

1. <action name="stringValidation" class="net.roseindia.StringVaLidationAction">  

2.       <result name="input">/pages/stringInputForm.jsp</result>  

3.       <result name="error">/pages/stringInputForm.jsp</result>  

4.             <result>/pages/stringSuccess.jsp</result>  

5.         </action>

 

第二步 创建输入表单

1. <%@ taglib prefix="s" uri="/struts-tags" %>  

2.   

3. <html>  

4.   

5. <head>  

6. <title>Input form</title>  

7.  

8. </head>  

9.   

10. <body>  

11.   <s:fielderror/><!—全部验证错误信息将显示在这里-->

12.   <s:form method="POST" action="stringValidation">  

13.  

14.     <s:textfield label="Enter User Number" name="username" maxlength="10" />  

15.     <s:submit />  

16.   </s:form>  

17.   

18. </body>  

19.   

20. </html>  

 

第三步 创建Action

1. public class StringVaLidationAction extends ActionSupport{   

2.   

3.   private String username;   

4.   

5.   public String execute() throws Exception{   

6.     if (getUsername() != null){   

7.       return SUCCESS;   

8.     }   

9.     else{   

10.       return ERROR;   

11.     }   

12.   }   

13.   

14.   public void setUsername(String username){   

15.     this.username = username;   

16.   }   

17.   public String getUsername(){   

18.     return username;   

19.   }   

20. }  

 

第四步 : 创建验证器
验证器文件的格式应该是<ActionClassName>-validation.xml或者<ActionClassName>-<ActionAliasName>-validation.xml.

验证器文件放到相关联的action同一路径下

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

2. <!DOCTYPE validators PUBLIC    

3.       "-//OpenSymphony Group//XWork Validator 1.0.2//EN"    

4.       "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  

5.          

6. <validators>  

7.   

8.   <field name="username"><!—action内需要验证的字段名-->

9.     <field-validator type="requiredstring">  

10.       <param name="trim">true</param><!是否trim字符串-->

11.       <message>请输入用户名</message>

12.       <!--验证未通过时的提示信息>

13.     </field-validator>  

14.   </field>  

15.   

16. </validators>

 

验证未通过时提示信息

l 请输入用户名

其它校验器

URL验证器

1. <field name="url">  

2.     <field-validator type="url">  

3.        <message>Please enter a valid url</message>  

4.     </field-validator>  

5.   </field>

email验证器

1. <field name="myEmail">   

2.     <field-validator type="email">   

3.        <message>Please enter a valid email</message>   

4.     </field-validator>   

5.   </field>   

6.   

date验证器

1. <field name="joiningdate">  

2.     <field-validator type="date">  

3.       <param name="min">01/01/1990</param>  

4.       <param name="max">01/01/2000</param>  

5.       <message>Joining date must be supplied between ${min} and ${max}</message>  

6.     </field-validator>  

7.   </field>  

 

Double类型验证器

1. <field name="percentagemarks">  

2.     <field-validator type="double">  

3.       <param name="minInclusive">20.1</param>  

4.               <param name="maxInclusive">50.1</param>  

5.               <message>Percentage marks need to between    

6. ${minInclusive} and ${maxInclusive}</message>  

7.     </field-validator>  

8.   </field>  

 

int验证器

1. <field name="userinput">  

2.     <field-validator type="int">  

3.       <param name="min">10</param>  

4.       <param name="max">80</param>  

5.       <message>Number needs to between ${min} and ${max} </message>  

6.     </field-validator>  

7.   </field>  

 

stringlength验证器

<field-validator type="stringlength">  

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

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

      <message>密码长度只能在${minLength}${maxLength}之间</message>  

</field-validator>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sunshine_girl_coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值