关于validation验证框架不起作用的解决方法

         搞了几天Validator框架验证,怎么做它都不起作用,我找了N个资料,都没查出来问题所在。终于,发现了问题,我把LoginForm.java(例子),就是表单Bean中的默认验证方法validate()删掉后就起作用了,至今没发现有一个资料说要删掉它,(可能需要在某个文件里设置一下)都是说它会被验证框架的validate()方法覆盖掉,只要在<action></action>属性中设置 validate="true",反正我的是没被覆盖掉,它一直在起作用,所以我的validation.xml不起作用。当然在创建FormBean时可以不选择创建validate()方法,也就没那么多事了。如果创建了,不想删掉的话,就改个名字可以改成validator(),改成其他的名字我没试过。目的就是屏蔽掉它。
        如果想在客户端验证,就要这样写 <html:form action="/login" onsubmit="return validateLoginForm(this)"> validate+表单名(), 表单名第一个字母要大写,还要在上写 <html:javascript formname="loginForm"> </html:javascript> ,就行了。它会产生javascript代码,可以看一下页面的源代码。至于让validate()方法和validation.xml同时起作用,

那么在Form Beans中重载了validate方法的话,就会覆盖原有ValidatorForm中对应的功能,所以如果想

一起用的话,需要在Form Beans的validate方法中调用errors = super.validate(mapping, request);

这句代码是启用Validate框架所要做的工作,然后可以判断errors再作下一步的处理。

</html:form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值