struts- validation时minLength始终不生效
时间:2010-07-21
来源:互联网
最近在学struts。自己动手实验了一个很简单的Registration Webapp。注册页面有3项内容:
用户id(userid),密码(pwd1)以及密码确认(pwd2)。
但是遇见了一个问题始终不得其解,觉得很诡异。具体情况是这样的:
我用Validator Framework来进行输入数据的验证,不符合要求则显示错误信息。
我的要求是用户名不为空,只接受数字或字母,并且长度不得小于5。
密码不为空,只接受数字或字母。
密码确认与密码应一致,不一致则报错。
但问题出现了,我用minLength限制长度却总是无效,用户id仅为一个字母时也不会报错。并且还有副作用:一旦用户id确认成功了,
就不进行密码和确认密码的validation了(之所以这么说,是因为一旦用户id验证通过后,直接转至success页面了。而如果
用户id未通过,则会正常显示密码和确认密码的错误信息)。
很奇怪,而如果我删除minLength的验证,则一切正常,其他要求全部能满足。
编写的validation.xml具体如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="RegistrationForm">
<field property="userid"
depends="required,mask,minLength">
<msg name="required" key="reg.error.userid.missing"/>
<msg name="mask" key="reg.error.userid.alphanum"/>
<msg name="minLength" key="reg.error.userid.length"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-z0-9A-Z]*$</var-value>
</var>
<var>
<var-name>minLength</var-name>
<var-value>5</var-value>
</var>
</field>
<field property="pwd1"
depends="required,mask">
<msg name="required" key="reg.error.password1.missing"/>
<msg name="mask" key="reg.error.password1.alphanum"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-z0-9A-Z]*$</var-value>
</var>
</field>
<field property="pwd2" depends="validwhen">
<msg name="validwhen" key="reg.error.password.mismatch"/>
<var>
<var-name>test</var-name>
<var-value>(pwd1==*this*)</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
麻烦达人帮忙看看了
用户id(userid),密码(pwd1)以及密码确认(pwd2)。
但是遇见了一个问题始终不得其解,觉得很诡异。具体情况是这样的:
我用Validator Framework来进行输入数据的验证,不符合要求则显示错误信息。
我的要求是用户名不为空,只接受数字或字母,并且长度不得小于5。
密码不为空,只接受数字或字母。
密码确认与密码应一致,不一致则报错。
但问题出现了,我用minLength限制长度却总是无效,用户id仅为一个字母时也不会报错。并且还有副作用:一旦用户id确认成功了,
就不进行密码和确认密码的validation了(之所以这么说,是因为一旦用户id验证通过后,直接转至success页面了。而如果
用户id未通过,则会正常显示密码和确认密码的错误信息)。
很奇怪,而如果我删除minLength的验证,则一切正常,其他要求全部能满足。
编写的validation.xml具体如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="RegistrationForm">
<field property="userid"
depends="required,mask,minLength">
<msg name="required" key="reg.error.userid.missing"/>
<msg name="mask" key="reg.error.userid.alphanum"/>
<msg name="minLength" key="reg.error.userid.length"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-z0-9A-Z]*$</var-value>
</var>
<var>
<var-name>minLength</var-name>
<var-value>5</var-value>
</var>
</field>
<field property="pwd1"
depends="required,mask">
<msg name="required" key="reg.error.password1.missing"/>
<msg name="mask" key="reg.error.password1.alphanum"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-z0-9A-Z]*$</var-value>
</var>
</field>
<field property="pwd2" depends="validwhen">
<msg name="validwhen" key="reg.error.password.mismatch"/>
<var>
<var-name>test</var-name>
<var-value>(pwd1==*this*)</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
麻烦达人帮忙看看了
作者: pumpkinhead1986 发布时间: 2010-07-21
自己顶先。
还是很困惑,求解
还是很困惑,求解
作者: pumpkinhead1986 发布时间: 2010-07-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28