费时N天,查了N多资料,终于搞定了.
struts中的validator验证,是实现表单的服务器端验证或者客户端验证的.具体应用:
1.首先搭起struts框架,我是用myeclipse自带的插件生成的.(或者其他方法..)
2.建完之后,如果没有validation.xml和validator-rules.xml这两个文件,请自己加到webinf中.网上去搜一下.
3.在struts-config.xml中加上
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/conf/validator-rules.xml,
/WEB-INF/conf/validation.xml"/>
</plug-in>
4.建立jsp页面,from ,和action
要使用Struts的Validator框架进行自动校验的Form Bean不能继承自普通的ActionForm,必须继承自ValidatorForm或者ValidatorActionForm.
ValidatorForm根据struts-config.xml文件中的action的name属性为当前form的调用相应的验证器,因此在validator-rules.xml中的<form-bean>元素的名称属性(name)应该与<action>的name属性值相匹配。
ValidatorActionForm使用struts-config.xml中action的path属性,所以path属性的值相应的应该与validator.xml中的Form的name属性匹配。
Struts-config.xml文件的配置
要使用Validator框架的自动校验机制,还必须在Struts-config.xml文件中作相应的配置.除了前面已经说明了的配置Validator Plugin意外,还需要对需要校验的form的action进行配置.主要有两个地方需要配置,一个是<action>的input属性,一个是<action>的validate属性.input属性必须指定包含校验Form的jsp页面的路径,以便Struts的校验框架校验失败的时候可以重新导向到原来的页面让用户重新输入.validator属性是一个boolean类型的属性,必须设置为true struts才会启动自动校验机制.
5.在struts-config.xml里把自己的ActionForm进行配置
<form-bean name="testForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="userpass" type="java.lang.String"/>
</form-bean>
主要就是表单字段
6.在validator.xml中配置
<formset>
<form name="loginForm">
<field
property="username"
depends="required">
<arg key="login.user"/>
</field>
<field property="userpass"
depends="required,maxlength">
<arg0 key="prompt.password" />
<arg1 key="${var:maxlength}" name="maxlength"
resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>
</form>
</formset>
这只是针对两个字段,多的话自己手工加上去,相应的 depends="required,maxlength"规则都在validator_rules.xml中.
另外出错信息,你要加到ApplicationResources.properties文件中
6.然后在jsp页面中接到form中抛出的异常
<html>
<head>
<title>JSP for loginForm form</title>
</head>
<body>
<html:errors/>----显示错误
<html:form action="/login.do" >
username : <html:text property="username"/><br/>
userpass : <html:text property="userpass"/><br/>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
这样的验证是服务器端验证,想实现javascript验证,即弹出对话框形式
最后加上<html:javascript formName="loginForm" staticJavascript="true"/>
加上: <html:form action="/login.do" onsubmit="return validateLoginForm(this);">
.
分享到:
相关推荐
struts中使用validator框架由简单到复杂的三个实例,附加说明。
struts 的validator框架验证,入门好例!!!!
Struts1的validator验证框架
struts validator验证框架项目,都是很常用的验证,比如用户名满足6位以上,密码与确认密码必须相同,日期格式必须为yyyy-MM-dd等等
Struts Validator验证框架详细讲解.txt
NULL 博文链接:https://ocaicai.iteye.com/blog/1104717
Struts1.3 与1.2向比验证框架部分还是有所区别的,该例子通过一个简单的Email的校验,演示如何通过Struts Validate验证框架进行在页面中生成JavaScripte脚本,进行客户端校验。下完后记得评分,资源分就会回来,还能...
在struts1.x版本中使用validator验证框架实例。
struts应用中使用了validator验证框架,它为struts提供了灵活的验证规则,而无需编程
validator框架验证入门例子 struts1.x validator框架验证入门例子
Validator验证框架,STRUTS动态验证的规则与规范!
struts中自定义validator验证 <br>很多时候需要验证“密码”与“重复密码”是否一致,如果放在服务器端验证就浪费资源了。 如何在客户端进行验证呢?JS可以实现,但是struts的validator框架是否能实现呢?-见...
NULL 博文链接:https://finally-m.iteye.com/blog/360789
一个自己编写的小程序,主要是struts中validator框架的使用及配置,可以做为好的参照
简单的struts的validator框架代码,以及validation.xml和validator-rules.xml配置 validator对日期的验证 以及乱码问题,采用fliter解决乱码问题
解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证 你可以先参看我的blog文章:http://blog.csdn.net/qjyong/archive/2008/11/16/3311688.aspx 再决定是否下载。
使用validator.xml配置验证,具有通用性
用struts Validator框架实现注册验证 (本人花了2个星期才弄明白,其中有不少现成代码可直接用于项目,比如common包。为了体现开源精神,特意奉献。供向我这样的初学者学习。)
struts入门相关知识和代码,及validator验证框架,以及国际化的一些知识。
struts2最全验证框架...Struts2Validator Struts2 验证框架 Updated Jun 18, 2010 by cm2...@gmail.com Action 配置中一定要设置 input 返回页面 添加验证只要创建验证的...