通过Struts 1.2提供的validwhen 验证器可以轻松的创建更加复杂灵活的表单验证。
比如说,我们要验证用户两次输入的密码是否相同,或是只有当用户填写表单项“姓氏”时,表单项“名字”才是必须的。
validwhen 需要声明一个叫test的var字段,这个变量的值是一个布尔型的表达式,比如:
<var-name>test</var-name>
<var-value>((orderLines[].partNumber == null) or (*this* != null))</var-value>
当布尔型表达式返回true时,验证才会成功。下边是允许发入该表达式的一些元素:
- 单引号或双引号括起来的字符串
- 十进制、十六进制或八进制表示的整形字面量
- null 表示没有输入的空串
- 可以使用表单里的任何字段名字,如 customerAge
- 显式引用的索引字段,如childLastName[2]
- 隐式引用的索引字段,如childLastName[],表示使用与该字段相同的索引
- 字面量 *this* 表示当前被验证的表单
例:
下边这段代码表示:只有当sendNewsletter字段为空,或该字段emailAddress不为空时,该字段才有效
<field property="emailAddress" depends="validwhen">
<arg0 key="userinfo.emailAddress.label"/>
<var>
<var-name>test</var-name>
<var-value>((sendNewsletter == null) or (*this* != null))</var-value>
</var>
</field>
下边这个例子表示,只有相应的partNumber存在时,字段quantity才是必须的
下边这个例子表示,只有相应的partNumber存在时,字段quantity才是必须的
<field property="quantity" indexedListProperty="orderLines" depends="validwhen">
<arg0 key="orderform.quantity.label"/>
<var>
<var-name>test</var-name>
<var-value>((orderLines[].partNumber == null) or (*this* != null))</var-value>
</var>
</field>
下边这个例子表示,如果输入身高小于60英寸,则不能做nbaPointGuard
下边这个例子表示,如果输入身高小于60英寸,则不能做nbaPointGuard
<field property="nbaPointGuard" depends="validwhen">
<arg0 key="careers.nbaPointGuard.label"/>
<var>
<var-name>test</var-name>
<var-value>((heightInInches >= 60) or (*this* == null))</var-value>
</var>
</field>
分享到:
相关推荐
本文将详细讲解Struts中的表单验证机制,包括ActionForm Bean的使用、validate()方法和reset()方法,以及如何处理验证错误。 首先,ActionForm Bean是Struts框架中用于存储和管理用户输入数据的Java对象。它需要...
Struts是Apache软件基金会(ASF)赞助的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。Struts在Java社区中被广泛使用,为开发者提供了一种组织应用程序结构和控制流程的方式...
在Struts框架中,表单验证是一个关键环节,它确保了从用户端提交的数据质量和安全性。本视频教程将深入讲解Struts框架下的表单验证机制。 一、Struts表单验证概述 在Struts中,表单验证通常是通过ActionForm对象来...
在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...
Struts2是一个流行的Java web开发框架,其在处理用户表单数据时提供了强大的验证功能,确保输入的数据符合预期的格式和规则。本文将深入探讨Struts2的表单验证机制。 首先,Struts2的输入验证分为两种方式:手动...
Struts动态表单验证是Java Web开发中一个关键的实践,尤其在构建MVC(Model-View-Controller)架构的应用程序时。Struts框架提供了一种有效的方法来处理用户输入并确保数据的完整性和安全性。在这个主题中,我们将...
### Struts 表单验证实例解析 #### 一、引言 在Web开发中,确保用户提交的数据符合预期格式和规则至关重要。Struts框架提供了一种简洁高效的方式来处理这一问题,尤其是在表单验证方面。本文将详细介绍Struts框架...
本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可少的,因为不正确的数据可能导致业务逻辑错误,甚至安全漏洞。Struts2...
### Struts 结合 JS 的表单验证 在 Web 开发中,前端表单验证是非常重要的一个环节,它能够有效提高用户体验并减少服务器端的压力。本文将详细介绍如何在 Struts2 框架中利用 JavaScript(JS)进行客户端表单验证,...
在Struts中实现表单验证并不一定依赖于Struts的标签,通过JavaBean验证、XML配置或注解的方式同样能实现高效、灵活的验证。关键在于理解验证流程,以及如何在验证失败时正确处理错误信息,确保用户界面的友好性和...
Struts7验证框架是用于Java Web开发中的一个...总的来说,Struts7验证框架和DynaActionForm是Struts框架中提高开发效率和代码质量的重要工具,它们帮助开发者轻松管理表单数据和验证逻辑,降低了J2EE应用程序的复杂性。
这篇博客文章“Struts2 表单验证验证信息显示位置及效果”探讨了如何有效地实现和展示Struts2中的表单验证信息。 首先,Struts2提供了一种灵活的验证机制,包括Action级别的校验和ValidatorForm级别的校验。Action...
在Struts2中,表单验证是处理用户输入数据的重要部分,确保数据的完整性和正确性。下面将详细讨论Struts2中的表单验证及其相关知识点。 一、Struts2表单验证概述 Struts2的表单验证分为客户端验证和服务器端验证。...
在Struts2中,表单验证是一个重要的功能,它确保了用户输入的数据符合我们设定的规则,从而提高应用程序的健壮性和用户体验。在注册场景中,表单验证尤为重要,因为它涉及到用户账户的安全性。 首先,让我们深入...
3. **验证规则的声明**:理解如何使用struts-config.xml配置文件来声明表单字段的验证规则,如非空、长度限制、数字范围等。 4. **错误处理**:学习如何捕获和处理验证失败的情况,向用户显示错误消息,并控制流程...
在本项目中,我们关注的是将这两者结合使用,实现基于jQuery的formValidator插件进行表单验证。 表单验证是Web应用中必不可少的一部分,它确保用户输入的数据符合预设的规则,例如邮箱格式、密码强度等。...
Struts1是一个经典的Java Web框架,它在早期的Web应用开发中...以上就是关于"Struts1使用ActionForm实现表单验证"以及"表单验证失败追加信息"的详细说明。理解并掌握这一技术,对于开发基于Struts1的Web应用至关重要。
Struts2极速表单验证框架设计之初即考虑了与RapidValidation框架的兼容性,两者使用相同的验证规则表达式,这意味着开发者可以无缝地在前后端实现一致的验证逻辑,极大地提高了开发效率和用户体验。 **7. 如何扩展...
总的来说,这个实例涵盖了Struts1.2中的基础应用,包括Action、表单Bean、配置文件、验证框架和JSP页面的使用。通过学习和实践这个例子,开发者可以深入理解Struts的工作原理,以及如何利用它来构建功能丰富的Web...
此外,他还可能提到了如何结合Struts2的拦截器(Interceptors)来实现更复杂的验证逻辑,例如,使用`ValidationInterceptor`进行预验证,并将错误信息存储在ActionContext中供标签使用。 总结来说,通过学习李顺利...