关于使用commons-validator.jar的校验问题
最近一直都研究struts中的commons-validator.jar的表单验证。但我是从ActionForm中的代码修改转换成使用validation.xml验证方式的。。可是转换过程中确出现了一个问题,就是表单没有进行验证和不出现验证出错信息。
我的数据库里面只有2个表:
bm_user(id,uname,password)
bm_bookmark(id,mark_name,mark_url,mark_desc,user_id)
以下是转换ValidatorForm后的LoginForm类:
???用户 : <html:text property="username"/><br/>
???密码: <html:text property="password"/><br/>
???<html:submit>提交</html:submit> <html:cancel>取消</html:cancel>
</html:form>
<html:errors/>--></html:form><html:form action="/Login">
</html:form>从以上的代码配置来看,是没什么问题的,例如login.jsp、validation.xml、struts-config.xml都没问题,搞了半天,还是搞不出为什么无法实现表单的验证,就是将用户和密码的必填验证,而且还不输入验证失败的错误。
后来想了一下,记得书上说过有一个问题就是,如果使用这种commons-validator.jar验证的话,form-bean的类里面,不需要覆盖父类中的validate方法,而我却在LoginForm里面覆盖了validate这个方法,并且返回null值,也就是说验证通过或者不需要验证,因此,validation.xml里面的验证也就没效。
唉,搞了半天原来是这个错误。。
希望struts初学者要谨记这种错误的存在!!
<html:errors></html:errors>