博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二十二 XML校验器
阅读量:5101 次
发布时间:2019-06-13

本文共 4398 字,大约阅读时间需要 14 分钟。

Struts2提供的校验器及其规则:

struts2提供了大量的内置校验器:你可以在xwork-core-2.1.6.jar的com.opensymphony.xwork2.validator.validators下找到如下配置文件:default.xml。里面列出了所有的内置校验器。

required:必填校验器,要求field的值不能为null。

requiredstring:必填字符串校验器,要求field的值不能为null,并且长度大于0

  属性——trim:指定在校验之前是否去除字段串前后的空格。

stringlength:字段长度校验器,要求fidle的值必须在指定的范围内,否则校验失败。

  属性——minLength:指定最小长度。   maxLength:指定量大长度。   trim:指定在校验之前是否去除字段串前后的空格。 

regex:正则表达式校验器,检查衩校验的field是否匹配一个正则表达式。

  属性——expression:指定正则表达式(2.3.15版用regexExpression)。     caseSensitive:指定进行正则表达式匹配时是否区分大小写。

int:整数校验器,要求field的整数值 必须在指定范围内。

  属性——min:指定最小值。   max指定最大值。

double:双精度浮点数校验器,要求field的双精度浮点数值必须在指定范围内。

  属性——min:指定最小值。   max指定最大值。

fieldexpression:字段OGNL表达式校验器。要求field满足一个ognl表达式。

  属性——expression:指定ognl表达式(表达式要写在 <![CDATA[]]> 内)。

email:邮件地址校验器。要求如果field的值非空,则必需是合法的邮件地址。

url:网址校验器。要求如果field的值非空,则必需是合法的 url 地址。

date:日期校验器,要求field的日期值必须在指定范围内

  属性——min:指定最小值。   max指定最大值。

conversion:转换校验器,指定在类型转换失败时,提示错误信息。

visitor:用于校验action中的复合属性。它拽定一个校验文件用于校验复合属性中的属性。

expression:OGNL表达式校验器。要求field满足一个ognl表达式。该逻辑表达式基于ValueStack进行求值。该校验器不可用在字段校验器风格的配置中!

  属性——expression:指定ognl表达式(表达式要写在 <![CDATA[]]> 内)。

 

JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>  <%@taglib uri="/struts-tags"  prefix="s" %>
Insert title here

注册页面

用户名:
密 码 :
确认密码 :
年 龄 :
邮 箱 :
电 话 :
生 日 :

Action类:

1 public class RegistAction extends ActionSupport { 2      private String username; 3      private String password; 4      private String repassword; 5      private int age; 6      private String email; 7      private String phone; 8      private Date   birthday; 9      10      11     public String getUsername() {12         return username;13     }14 15 16     public void setUsername(String username) {17         this.username = username;18     }19 20 21     public String getPassword() {22         return password;23     }24 25 26     public void setPassword(String password) {27         this.password = password;28     }29 30 31     public String getRepassword() {32         return repassword;33     }34 35 36     public void setRepassword(String repassword) {37         this.repassword = repassword;38     }39 40 41     public int getAge() {42         return age;43     }44 45 46     public void setAge(int age) {47         this.age = age;48     }49 50 51     public String getEmail() {52         return email;53     }54 55 56     public void setEmail(String email) {57         this.email = email;58     }59 60 61     public String getPhone() {62         return phone;63     }64 65 66     public void setPhone(String phone) {67         this.phone = phone;68     }69 70 71     public Date getBirthday() {72         return birthday;73     }74 75 76     public void setBirthday(Date birthday) {77         this.birthday = birthday;78     }79 80 81     @Override82     public String execute() throws Exception {83         84         return NONE;85     }86 }

xml校验器:

用户名不能为空
密码不能为空
6
12
密码需要在6-12之间
两次密码不一致
18
40
年龄必须在18-40之间
邮箱格式错误
电话不合法
1974-01-01
1996-01-01
生日不合法

 

转载于:https://www.cnblogs.com/ltfxy/p/9848255.html

你可能感兴趣的文章
Python + Selenium 自动发布文章(一):开源中国
查看>>
iOS 如何获取屏幕大小
查看>>
求最小环
查看>>
[HTML5] a tag, rel="noopener"
查看>>
RSA算法(二)
查看>>
增加ssh无密码信任连接的安全性
查看>>
Lyndon Word学习笔记
查看>>
P3388 【模板】割点(割顶)
查看>>
洛谷P3379 【模板】最近公共祖先(LCA)(树链剖分)
查看>>
08:病人排队
查看>>
HDU 1358 (所有前缀中的周期串) Period
查看>>
UVa 12174 (滑动窗口) Shuffle
查看>>
scope=“prototype”和scope=“session”
查看>>
Vova and Train (codeforces 1066A)
查看>>
1. 虚拟机使用技巧
查看>>
Git常用命令及场景
查看>>
【BZOJ1116】[POI2008]CLO 并查集
查看>>
【BZOJ4149】[AMPPZ2014]Global Warming 单调栈+RMQ+二分
查看>>
【POJ2888】Magic Bracelet Burnside引理+欧拉函数+矩阵乘法
查看>>
SWT中嵌入Swing的JTextFeild却不能编辑
查看>>