struts的validation.xml为何只是正则表达不起作用--------向高人请教(SOS)
我的LoginAction extends Action,LoginForm extends ValidatorForm
现在在我的validation.xml中有一下一段验证
<formset>
<form name="LoginForm">
<field property="username" depends="required,maxlength,mask">
<arg0 key="LoginForm.username"/>
<arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>2</var-value>
</var>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
现在的问题是:此时,required,maxlength能起作用,而mask就是不起作用。
例如:你在页面上输入
空 ---〉 提示 username is required
'aaaaa'---> 提示 username 的长度不能超过2位
但是你如果输入'!~' ---->验证既然通过,或者说验证没有起到作用,不报错
说明:我几乎一模一样的代码在另外的project中能正确运行,没有任何问题
请教各位,谢谢
问题点数:98、回复次数:11Top
1 楼rikky(Java转型中ing...)回复于 2004-09-01 08:51:25 得分 0
个人感觉,他好像认不得mask,不知道为什么Top
2 楼rikky(Java转型中ing...)回复于 2004-09-01 11:57:03 得分 0
没人顶一下?Top
3 楼lj0425(冰芝麻)回复于 2004-09-01 17:15:26 得分 18
看你的配置应该是没什么问题。要不你用^[\d]*$试试看。
另外在你的页面察看源代码,看看Struts是否帮你生成了相应的Mask认证script代码?
Tomcat等server启动时候有没有错误?Top
4 楼rikky(Java转型中ing...)回复于 2004-09-01 17:50:00 得分 0
多谢提醒,我一直在钻牛角呢,我马上去试Top
5 楼rikky(Java转型中ing...)回复于 2004-09-01 17:57:08 得分 0
^[\d]*$也不行,看来不是正则表达式的问题
至于页面的源代码里面是否没有验证的script,服务器端验证不会在客户端生成脚本的,好像加一点东西就可以生成这样的cript了,不知道具体如何加的
tomcat启动没有任何问题
希望有人再指点一下Top
6 楼wenic705(泥泥)回复于 2004-09-02 09:00:19 得分 10
正则表达式有没有错?是这样吧^[0-9a-zA-Z]+$
Top
7 楼rikky(Java转型中ing...)回复于 2004-09-02 16:28:43 得分 0
不同的表达式不一样的意思Top
8 楼qyzj_wanghx(原啸天)回复于 2004-09-07 08:35:49 得分 5
<arg0 key="LoginForm.username"/>
<arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
中没有对 mask进行定义啊...Top
9 楼xunyiren(云水谣)回复于 2004-09-07 09:10:40 得分 25
看看你的WEB-INF\lib下有没有jakarta-oro.jar,没有从jakarta-struts-1.1中拷一个过来,Struts的正则表达式需要这个包Top
10 楼lianeng(★★★★★)回复于 2004-09-07 09:32:00 得分 5
upTop
11 楼lj0425(冰芝麻)回复于 2004-09-07 10:34:52 得分 35
jsp页面中加入:
<html:javascript formName="YourFromName"/>Top




