validator 验证框架学习笔记

validator 验证框架

六种类的关系:

1:普通form(从下向上继承)
ActionForm //不用验证框架作验证
|
|
validatorForm //使用验证框架时必须继承它,但只能做同一种验证(即只提交一个按键时的验证)
|
|
validatorActionForm //使用验证框架验证时,可以更为精确的去处理业务逻辑,针对的是不同的按键的path(即可以作不同的验证,如,既可以验证是否为空,又可以同时验证是否小于几位)

2:动态form(从下向上继承)
DynaActionForm
|
|
DynaValidatorForm
|
|
DynaValidatorActionForm


我们自己的form 必须继承validatorForm 或validatorActionForm 或DynavalidatorForm 或DynavalidatorActionForm

对于 validatorForm 和DynavalidatorForm 是针对form的验证
对于 validatorActionForm 和DynavalidatorActionForm 是针对path的验证

validator验证框架的使用(服务器端):
1.创建form,继承validatorForm 或validatorActionForm 或DynavalidatorForm 或DynavalidatorActionForm
××务必把form中的validate()方法去掉
2:在struts-config.xml文件中 注册validator验证框架(在validator-rules.xml有以下内容,不要求手写)
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
3:在validation.xml文件中指定哪个form的哪些属性做什么验证
<form name="logForm">//对于validatorForm 和DynavalidatorForm 是form的逻辑名,对于 validatorActionForm 和DynavalidatorActionForm 是path的内容
<field
property="name"//要验证的属性
depends="required,mask,minlength">//做哪些验证,mask指定必须为几位
<arg0 key="label.name"/>
<arg1 name="minlength" key="${var:minlength}" resource="false"/>//设置错误信息
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>//用正则表达式表示只能是字符
</var>
<var>
<var-name>minlength</var-name>//最小长度
<var-value>7</var-value>
</var>
</field>

<field
property="date"
depends="required,date">//日期的验证
<arg0 key="label.date"/>
</field>
</form>
4:在applicationResource.properties文件中加上错误信息
//验证框架用的信息,可以用中文转化
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.

errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.

errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is an invalid credit card number.
errors.email={0} is an invalid e-mail address.
//自己用到的信息
label.name=name
label.password=password
label.phone=phone
label.email =email

注意:运行前检查一下validation.xml和applicationResource.properties文件文件有没有部署到tomcat下


validator验证框架的使用(客户端):
前4步是一样的。
在jsp页面加上<html:javascript formName="logForm"/>,οnsubmit="return validateLogForm(this)"
<html:form action="/log" focus="uname" οnsubmit="return validateLogForm(this)"> //服务器自动生成的javascript函数名
email : <html:text property="email"/><html:errors property="email"/><br/>
uname : <html:text property="uname"/><html:errors property="uname"/><br/>
<html:submit/><html:cancel/>
</html:form>
<html:javascript formName="logForm"/>//formName相应的form名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值