很久前就已经使用过struts的validate,当时感觉不错,好用。
但后来,在做系统的时候把后台验证都省去了。所以呢,validate也就不再使用,而且感觉很难用,配置太麻烦。
一般做系统的时候,只要写个前台验证就可以了。因为自己就是管理员。呵呵。当然也不知道validate有个前台验证的功能。
现在做系统要求用户的交互性,所以前后台都得加上验证,以保证安全性。自己写前台的js已经快要疯了。后台本想使用exception来处理,但那样就开发周期又得长了。
现在只好再来使用validate
第一步:
配置插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
property="pathnames" />
</plug-in>
第二步:form
Validator框架不能直接org.apache.struts.action.ActionForm。应采用ActionForm的两个子类
ValidatorActionForm和ValidatorForm
DynaValidatorActionFrom继续自DynaValidatorForm
支持动态在ActionFrom中使用Validator框架
ValidatorFormActionForm继承ValidatorForm
支持在标准ActionForm中使用Validator框架。
DynaValidtaorForom和ValidatorForm类都实现了validator()方法,如果验证失败,就会返回包含错误消息的ActionMessage对象,并把该对象添加到ActionErrors集合对象中,由validator方法最后返回ActionErrors对象。
ValidatorForm有一个子类ValidatorActionForm
ValidatorForm
Strust配置文件的元素的name属------>validator.xml文件
元素的name属性
ValidatorActionForm
Strust配置文件的元素的path属------>validator.xml文件元素的name属性
Validator框架提供这两个类目的在于可以更加精确的控制执行验证的条件。
第三步:前台
在Jsp页面中包含< html:javascript>
< html:javascript formName=”loginForm”> 这个标签的form的name属性制定需要验证的表单名字,
他能够访问为表单配置的验证规则的javascript元素,把包含的脚本写到jsp页面中,生成validateLoginForm的函数,负责执行验证逻辑
3) 对需要验证的表单定义onsubmit事件
4)代码
< html:form action="manageContract.do" onsubmit="return validateContractForm(this);">
5) 用户在表单上提交后,就会调用
标签生成的js脚本validateLoginForm函数,执行验证。如果验证失败,就会弹出对话框提示,
不会提交的服务器端。
validate.xml文件中的一些说明
引用
1.<form>元素用于为表单配置验证规则,它的name属性为需要验证的ActionForm的名称,它需要与struts-config.xml中的名称一致,如此处为LoginActionForm.
2.<field>元素用于为表单字段配置验证规则,它的property属性名称需要与Login.jsp页面中的用户名文本框和密码框的property属性名一致。
3.<depends>元素为该字段所采用的验证规则有哪些,如果有多个,则使用逗号分隔。
4.参看以上<msg>一行,<msg>元素指定验证规则对应的消息文本,该消息文本将替代在validator-rules.xml文件中为验证规则配置的默认消息文本。意思即是说,如果上面使用的是<msg name="required" key="user.required" resource="true"/>,而非<arg0 name="required" key="User.name" resource="true"/>,则如果验证失败,验证规则将使用msg中key指定的消息,而非默认的errors.required消息(validator-rules.xml中定义,参看上文)。
5.<field>字段可以包含四个附加的子元素,<arg0>、<arg1>、<arg2>、<arg3>,用于替换复合消息中的参数,<arg0>指定第一个替换值,<arg1>指定第二个,依此类推。每个arg元素包含三个属性:name,key和resource,用法与<msg>相似。如上代码中<arg0 name="required" key="User.name" resource="true"/>意为使用从消息文件ApplicationResources.properties中消息key User.name取出的文本(Username)来替换默许消息文本errors.required中的参数,使之组合成一句有意思的文本,errors.required的原文本为:{0}is requuired.
分享到:
相关推荐
STRUTS validate 配置是Struts框架中用于表单验证的重要组成部分,它允许开发者定义一系列规则以确保用户提交的数据符合预设的标准。以下是对STRUTS validate配置的详细解释: 1. **创建继承自ValidatorForm的...
在Struts框架中,`validate`是用于表单验证的重要组成部分,帮助开发者实现业务逻辑中的数据校验。 在`struts validate`中,验证过程通常分为两个阶段:客户端验证和服务器端验证。客户端验证通常使用JavaScript...
8. ** strut2-struts1-plugin**:如果你的项目中同时有Struts1和Struts2,可以使用这个插件进行兼容,使得Struts1的validate机制也能在Struts2中正常工作。 9. **注解驱动的验证**:在Struts2中,除了传统的...
在Struts1.2中,`validate`机制是用于处理表单验证的重要部分,它帮助开发者在用户提交数据之前检查输入的有效性,确保数据的完整性和安全性。 ### 一、`validate`机制概述 `validate`机制是Struts1.2中处理表单...
Struts的Validate框架是Java Web开发中用于处理用户输入验证的一种工具,它是Struts框架的重要组成部分,主要用于在MVC(Model-View-Controller)架构中确保用户提交的数据满足应用程序设定的规则。在MyEclipse 6.0...
本文将深入探讨如何结合Validate框架在Struts中实现有效的数据验证。 首先,我们需要理解Struts中的验证流程。当用户提交表单时,Struts会调用ActionForm对象的validate()方法进行验证。这个方法通常是根据业务逻辑...
在深入探讨Struts框架中的`struts-validate`概念前,我们先来理解一下Struts框架本身。Struts是一个开源的MVC(Model-View-Controller)框架,用于简化Java Web应用程序的开发。它提供了一种结构化的方法来构建Web...
这个validate验证框架中的actiionerror级别的错误的验证提示,并包含了如何在一个Action中处理多个业务逻辑,(struts1.x 中的DispatcheAction),例子比较简单,希望对大家学习struts有所帮助。
本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的一个可选方法,用于在提交表单数据后验证用户输入的有效性。这个方法通常会在调用Action的`...
"Struts-Validate-Reset"主题主要关注的是在Struts验证框架中如何实现表单数据的重置操作。 验证(Validate)在Struts中通常是通过ActionForm类的子类来完成的。ActionForm是MVC模式中的模型层组件,它负责接收并...
在Struts2中,`validate`是用于处理用户输入验证的重要机制,它可以帮助开发者确保从客户端提交的数据满足预设的业务规则,从而提高应用程序的安全性和用户体验。 1. **Struts2 验证基础** Struts2的验证分为两种...
在Web开发中,jQuery Validate和Struts2是两个非常重要的工具。jQuery Validate是一个轻量级的JavaScript库,用于对HTML表单进行验证,确保用户输入的数据符合预设的规则。而Struts2是一个基于MVC设计模式的Java Web...
《jQuery Validate与Struts2整合应用详解》 在Web开发中,前端验证用户输入的数据是必不可少的一环,jQuery Validate插件就是一款强大的JavaScript验证工具,它可以帮助我们方便地实现表单验证。与此同时,Struts2...
在Eclipse中配置Struts2...Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)
#### 一、Struts Validate 使用详解 在 Struts 框架中,数据验证是一项非常重要的功能,它确保了应用程序能够接收到合法且符合预期的数据输入。Struts 提供了多种方式进行数据验证,本文将详细介绍如何使用 `...
在Struts框架中,`validate`功能是用于进行表单验证的重要机制,它帮助开发者确保从用户端接收到的数据是合法且有效的。 在Struts框架中,`validate`的应用主要体现在ActionForm类的子类上。ActionForm是Struts框架...
Struts的验证框架Validate是Java Web开发中一个关键的组件,尤其在构建MVC(Model-View-Controller)架构的应用程序时。这个框架主要用于确保用户输入的数据满足预定义的业务规则,从而提升应用的安全性和数据的准确...
在Struts2中,我们可以利用validate方法进行高效且灵活的前端数据验证,确保用户输入的数据满足业务规则,从而提升应用的安全性和用户体验。 在Struts2中,表单验证主要依赖于两个核心组件:Action类和Validator...
在Struts1中,`validate`是用于业务逻辑校验的重要机制,它可以有效地预防无效数据进入数据库,从而提高系统的稳定性和安全性。 自定义`validate`验证是Struts1框架的一个关键特性,允许开发者根据业务需求定制特定...