Sturts2内建验证器
名称 参数 功能
1. required 没有 检验值非空
2. requiredstring trim(默认为true) 检验值非空,并且不是字符串
3. stringlength trim(默认为true) 验证字符串长度在限定范围内
minLength,maxLength
4. int min,max 验证整数值在参数指定范围内
5. double minInclusive,maxInclusive
minExclusive,maxExclusive 验证浮点值在参数范围内
6. date min,max 验证日期在指定范围内
7. email 没有 验证电子邮件格式
8. url 没有 验证URL格式
9. fieldexpression expression(必须) 根据当前ValueStack解析OGNL表达式.表达式必须返回true或者false决定验证是否成功
10. expression expression(必须) 与fieldexpression相同,但用在动作级别
11. visitor context,appendPrefix 将域对象属性(如User)的验证转交给域对象本地的验证声明
12. regx expression(必须),caseSensitive,trim 验证String遵循给定的正则表达式
使用示例
ActionClass-validation.xml (如:Register-validation.xml)
<validators>
<!-- 字段验证器 -->
<field name="password" >
<filed-validator type="requiredstring">
<message>You must enter your password</message> 或者 <message key="password.required" />
</field-validator>
</field>
<!-- 动作验证器 -->
<validator type="expression">
<param name="expression"> username != password </param>
<message>Username and password can't be the same. </message>
</validator>
</validators>
ActionClass-validation.xml可以对模型类(如:User)使用,也可以对动作(如:Register)使用
使用visitor验证器在域对象级别验证
1.在User-validation.xml中配置User类的验证器
2.在UpdateAccount-validation.xml中使用visitor验证器将UpdateAccount动作的验证任务交还给User
<validators>
<field name="user">
<field-validator type="visitor">
<message> User : </message>
</field-validator>
</filed>
</validators>
对Action中的不同方法使用不同验证器
若Update方法中有admin和public两个方法
<action name="adminUpdate" class=com.v.Update" method="admin" >
<result...>
xml文件写为 Update-Admin-validation.xml
<action name="adminUpdate" class=com.v.Update" method="public" >
<result...>
xml文件写为 Update-Public-validation.xml
jsp中的写法
<s:fielderror>
<param> teacher.teacherName </param>
</s:fielderror>
teacher.teacherName需要验证的字段
3.在对象级别上使用验证器
如对Department进行验证
<validators>
<field name="departmentName">
<field-validator type="stringlength">
<param name="minLength">1</param>
<param name="maxLength">32</param>
<message>部门名字长度必须在1~64字内</message>
</field-validator>
</field>
<field name="departmentCode">
<field-validator type="stringlength">
<param name="minLength">1</param>
<param name="maxLength">20</param>
<message> 部门编码长度必须在1~20位内</message>
</field-validator>
<field-validator type="regex">
<param name="expression">\d+</param>
<message>部门编码必须为数字</message>
</field-validator>
</field>
</validators>
然后再Action动作中使用visitor转移验证即可
<validators>
<field name="department">
<field-validator type="visitor">
<message></message>
</field-validator>
</field>
</validators>
其中 <field name="department"> 为Action公开在ValueStack上的属性
4.使用visitor验证器和域对象验证上下文
UpdateUserActionUpdateUserAdmin-validation.xml
<validators>
<field name="user">
<field-validator type="visitor">
<param name="context">admin</param> 此处使用域对象级别上的User-admin-validation.xml定义的验证
<message> User : </message>
</field-validator>
</filed>
</validators>
验证器链短路效应
<field name="password" >
<field-validator type="stringlength" shot-circuit="true"> //shor-circuit设为true,则当stringlength验证失败时,XXX验证器不会继续执行,节省资源
...
</field-validator>
<field-validator type="XXX">
...
</field-validator>
分享到:
相关推荐
Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...
这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下Struts2验证框架的基本概念。验证框架基于两个主要组件:Validation拦截器和Action类中的验证配置。Validation...
在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
Struts2验证框架是Java开发中的一个关键组件,主要用于处理Web应用中的用户输入验证。它提供了灵活且强大的机制,确保用户提交的数据符合预期格式和业务规则。Struts2的验证框架是基于Action类和XML配置文件的,可以...
验证框架是Struts2中的一个重要组成部分,用于处理用户输入的数据验证。在这个框架中,验证逻辑与业务逻辑分离,使得代码更易于管理和扩展。 在Struts2验证框架中,主要有两种验证方式:客户端验证和服务器端验证。...
在深入探讨Struts2验证框架参数之前,我们首先简要回顾一下Struts2框架本身。Struts2是基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它提供了一种灵活的方式来构建可扩展的企业级Web应用程序。...
在Struts2中,验证框架是其核心特性之一,它负责确保用户输入的数据符合预定义的规则,从而保证数据的准确性和安全性。本文将深入探讨Struts2验证框架的使用和扩展。 1. **Struts2验证框架基础** - **Action与...
在Struts2的2.3.15.3版本中,集成的验证框架是其核心功能之一,帮助开发者确保用户输入的数据质量和安全性。本篇将详细讲解如何在Struts2中实现一个简单的验证框架模式。 首先,我们需要了解Struts2验证框架的基本...
本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可少的,因为不正确的数据可能导致业务逻辑错误,甚至安全漏洞。Struts2...
### Struts2 最全验证框架知识点详解 #### 一、Struts2 验证框架概述 Struts2 是一个基于MVC模式的Java Web开发框架,它提供了丰富的功能来简化Web应用的开发过程。其中,Struts2的验证框架是其重要的组成部分之一...
用户名、密码、年龄、电话号、email、日期验证、合法链接 的验证例子。
首先,Struts验证框架的配置涉及到两个关键的JAR包:`struts2-core.jar` 和 `struts2-validation-plugin.jar`。`struts2-core.jar` 是Struts2框架的核心库,包含了Struts2的基础功能;而`struts2-validation-plugin....
在Struts1中,验证框架是处理用户输入数据校验的重要组成部分,它帮助开发者确保用户提交的数据符合预定义的规则,从而提高应用程序的安全性和用户体验。下面将详细介绍Struts1验证框架的使用。 首先,我们来看一下...
Struts7验证框架是用于Java Web开发中的一个关键组件,主要负责处理用户输入数据的验证。这个框架在学习和实际项目开发中具有广泛的应用,因为它能够有效地提高代码的可维护性和减少开发工作量。 传统的Struts框架...
在Struts2中,验证框架是处理用户输入数据的有效性和完整性的关键组件。本篇文章将深入探讨如何在Struts2中使用验证框架,并通过一个简单的例子来演示其工作原理。 ### 一、Struts2验证框架概述 Struts2的验证框架...
#### 三、Struts2验证框架概述 Struts2框架内置了一套强大的验证系统,它基于WebWork验证框架进行扩展和优化。该验证系统支持前端和后端验证,并且可以通过XML配置文件或注解的方式定义验证规则。下面将具体介绍如何...