再问一个validator框架验证的问题??(急!!!!)

cz_2008 2008-04-29 11:37:03
我用validator来验证用户注册的信息,当运行时出现错误,无法验证,对于validator我是初学,不是很懂,代码编写我也不会,在一本书上摘了个现成的,我贴一下代码,麻烦各位高手多用两分钟时间帮我分析一下,非常感谢了!!

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>
<global>
<constant>
<constant-name>mobile</constant-name>
<constant-value>^\d{11}\d*$</constant-value>
</constant>
</global>

<formset>
<form name="registForm">
<field property="username" depends="required,maxlength">
<arg0 key="label.username" />
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
</field>

<field property="password"
depends="required,validwhen,maxlength">
<arg0 key="label.password" />
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
<var>
<var-name>test</var-name>
<var-value>
((password2 ==*this*) and (*this* != null))
</var-value>
</var>
</field>

<field property="nickname" depends="required,maxlength">
<arg0 key="label.nickname" />
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
</field>

<field property="birthyear"
depends="required,integer,intRange">
<arg key="label.birthyear" />
<arg name="intRange" key="${var:min}" resource="false"
position="1" />
<arg name="intRange" key="${var:max}" resource="false"
position="2" />
<var>
<var-name>min</var-name>
<var-value>1900</var-value>
</var>
<var>
<var-name>max</var-name>
<var-value>2007</var-value>
</var>
</field>

<field property="birthmonth"
depends="required,integer,intRange">
<arg key="label.birthmonth" />
<arg name="intRange" key="${var:min}" resource="false"
position="1" />
<arg name="intRange" key="${var:max}" resource="false"
position="2" />
<var>
<var-name>min</var-name>
<var-value>1</var-value>
</var>
<var>
<var-name>max</var-name>
<var-value>12</var-value>
</var>
</field>

<field property="birthday"
depends="required,integer,intRange">
<arg key="label.birthday" />
<arg name="intRange" key="${var:min}" resource="false"
position="1" />
<arg name="intRange" key="${var:max}" resource="false"
position="2" />
<var>
<var-name>min</var-name>
<var-value>1</var-value>
</var>
<var>
<var-name>max</var-name>
<var-value>31</var-value>
</var>
</field>

<field property="email" depends="required,email">
<arg key="label.email" />
</field>

<!--<field property="mobile" depends="mask">
<arg key="label.maskmsg" />
<var>
<var-name>mask</var-name>
<var-value>${mobile}</var-value>
</var>
</field> -->
</form>
</formset>
<formset>
<form name="logForm">
<field property="username" depends="required,maxlength">
<arg0 key="label.username" />
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
</field>

<field property="password"
depends="required,validwhen,maxlength">
<arg0 key="label.password" />
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
<var>
<var-name>test</var-name>
<var-value>
((password2 ==*this*) and (*this* != null))
</var-value>
</var>
</field>
</form>
</formset>
</form-validation>

控制台的错误是

29-Apr-2008 23:20:26 org.apache.struts.validator.DynaValidatorForm validate
SEVERE: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest)
org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest)
at org.apache.commons.validator.ValidatorAction.loadValidationMethod(ValidatorAction.java:627)
at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:557)
at org.apache.commons.validator.Field.validateForRule(Field.java:811)
at org.apache.commons.validator.Field.validate(Field.java:890)
at org.apache.commons.validator.Form.validate(Form.java:174)
at org.apache.commons.validator.Validator.validate(Validator.java:367)
at org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:110)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:919)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:204)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

validator-rules.xml文件太长,发不上来,烦高手指点一下,多谢!!
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cz_2008 2008-04-30
  • 打赏
  • 举报
回复
自顶一下,上面的兄弟能否解释一下,希望各位高手帮兄弟个忙,具体的解释一下,我不是很懂!!
谢谢了~!!!!!!!!!!!!!
cz_2008 2008-04-30
  • 打赏
  • 举报
回复
validator.xml,放的位置是对的,就是放在WEB-INF目录下的
org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest) 请问以上这段错误代码信息是什么意思??
我对validator不是太懂,能具体说一下应用validator 的具体步骤,必须要用到那些文件!谢谢!!
zero1111 2008-04-30
  • 打赏
  • 举报
回复
validation.xml 放的地方对么?
org.apache.commons.validator.ValidatorException
这报异常了,看看你程序写的函数对么?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧