struts2_day02内建验证器

本文深入探讨Struts2框架中各种验证器的使用方法,包括requiredValidator、requiredStringValidator、intValidator等,详细解析了每个验证器的参数、类型及应用场景,帮助开发者掌握如何有效进行表单字段验证。

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

要验证的字段名

trim

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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值