required validator
用来验证某个给定的字段的值不是null。注意,空字符串不是null。
参数名 |
类型 |
默认值 |
必须的 |
描述 |
fieldName |
String |
|
no |
要验证的字段名 |
<s:fielderror/>
<s:form action="validate">
<s:textfield name="userName" label="用户名"></s:textfield>
<s:submit value="登录"></s:submit>
</s:form>
动作类
import com.opensymphony.xwork2.ActionSupport;
public class ValidationAction extends ActionSupport {
private static final long serialVersionUID = 6877330242746547448L;
private String userName;
private String password;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
requiredstring validator
验证给定的字段的值既不是null、也不是空白。
参数名 |
类型 |
默认值 |
必须的 |
描述 |
fieldName |
String |
|
no |
要验证的字段名 |
Boolean |
true |
no |
验证前是否要去掉前导和尾缀的空白字符 |
<s:form action="validate">
<s:textfield name="userName" label="用户名" required="true" requiredposition="left"></s:textfield>
<s:password name="password" label="密码" required="true" requiredposition="left"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
int validator
用来验证某个字段的值是否可以被转换为一个整数。若指定参数,还验证是否在允许的范围内。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
min |
Integer |
|
允许的最小值。若没有给出该参数则无限制 |
max |
Integer |
|
允许的最大值。若没有给出该参数则无限制 |
<s:form action="validate">
<s:textfield name="age" label="年龄"></s:textfield>
<s:submit value="登录"></s:submit>
</s:form>
long validator
用来验证某个字段的值是否可以被转换为一个长整数。若指定参数,还验证是否在允许的范围内。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
min |
Long |
|
允许的最小值。若没有给出该参数则无限制 |
max |
Long |
|
允许的最大值。若没有给出该参数则无限制 |
double validator
用来验证某个字段的值是否可以被转换为一个双精度浮点数。若指定参数,还验证是否在允许的范围内。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
minInclusive |
Double |
|
允许的最小值。若没有给出该参数则无限制(含最小值) |
maxInclusive |
Double |
|
允许的最大值。若没有给出该参数则无限制(含最大值) |
minExclusive |
Double |
|
允许的最小值。若没有给出该参数则无限制(不含最小值) |
maxExclusive |
Double |
|
允许的最大值。若没有给出该参数则无限制(不含最大值) |
<s:form action="validate">
<s:textfield name="percentage1" label="百分比1"></s:textfield>
<s:textfield name="percentage2" label="百分比2"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
date validator
用来确保给定的日期字段的值落在一个给定的范围内。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
min |
java.util.Date |
|
允许的最小值。若没有给出该参数则无限制(含最小值) |
max |
java.util.Date |
|
允许的最大值。若没有给出该参数则无限制(含最大值) |
<s:form action="validate">
<s:textfield name="birthday" label="出生日期"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
expression validator
用于验证是否满足一个OGNL表达式。这是一个非字段的验证。只有给定的参数的返回值是true时才能验证通过。验证不通过时产生一个动作错误,因此要显示该错误,需要使用<s:actionerror/>标签。
参数名 |
类型 |
默认值 |
描述 |
expression |
String |
|
OGNL表达式,只有该表达式为true才能验证通过 |
<s:actionerror/>
<s:form action="validate">
<s:textfield name="minNumber" label="最小值"></s:textfield>
<s:textfield name="maxNumber" label="最大值"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
fieldexpression validator
用于验证某个字段是否满足一个OGNL表达式。这是一个基于字段的验证。只有给定的参数的返回值是true时才能验证通过。验证不通过时产生一个字段错误。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
expression |
String |
|
OGNL表达式,只有该表达式为true才能验证通过 |
<s:form action="validate">
<s:textfield name="minNumber" label="最小值"></s:textfield>
<s:textfield name="maxNumber" label="最大值"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
email validator
用来验证给定的字段是否符合一个Email的规范。它的正则表达式为
\\b(^[_A-Za-z0-9-](\\.[_A-Za-z0-9-])*@([A-Za-z0-9-])+((\\.com)|(\\.net)|(\\.org)|(\\.info)|(\\.edu)|(\\.mil)|(\\.gov)|(\\.biz)|(\\.ws)|(\\.us)|(\\.tv)|(\\.cc)|(\\.aero)|(\\.arpa)|(\\.coop)|(\\.int)|(\\.jobs)|(\\.museum)|(\\.name)|(\\.pro)|(\\.travel)|(\\.nato)|(\\..{2,3})|(\\..{2,3}\\..{2,3}))$)\\b
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
<s:form action="validate">
<s:textfield name="email" label="邮箱"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
url validator
用来验证给定的字段值是否是一个合法的URL地址。
参数名 |
类型 |
默认值 |
描述 |
fieldName |
String |
|
要验证的字段名 |
<s:form action="validate">
<s:textfield name="url" label="个人主页"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>
visitor validator
该验证程序可以提高代码的可重用性,你可以利用它把同一个验证程序配置文件用于多个动作。
<s:form action="customer_save">
<s:textfield name="address.streetName" label="街道"></s:textfield>
<s:submit></s:submit>
</s:form>
regex validator
用来检查给定字段是否与给定的正则表达式相匹配。正则表达式的详细内容可以参考JDK的java.util.regex.Pattern类。
参数名 |
类型 |
默认值 |
描述 |
fieldname |
String |
|
要验证的字段名 |
expression |
String |
|
正则表达式。此参数是必须的 |
caseSensitive |
Boolean |
true |
是否区分大小写的情况 |
trim |
Boolean |
true |
验证前是否要去掉前导和尾缀的空白字符 |
<s:form action="validate">
<s:textfield name="userName" label="用户名"></s:textfield>
<s:submit value="保存"></s:submit>
</s:form>