上篇文章的做法,不需要修改tapestry框架,但是前端javascript的校验功能丢失了。可以满足只需要后端校验的需要。
本文对“配置一次,前后都用”的理想模式进行实现,经测试表明成功了!
1,需要修改以下几个类和文件:Body.java
Form.java
AbstractSubmit.java
Submit.java
ImageSubmit.java
Submit.jwc
ImageSubmit.jwc
BaseValidator.java
MinLength.java
......
2,增加BasePage的子类:
SubBasePage.java,其中增加一属性submitName,保存提交组件的名字,用以各validator根据提交组件的名字决定是否需要进行校验。
3,page中对各个输入组件配置validators时也发生了变化:
如,minLength=12 --->>> minLength=OneSubmit_12
表示当点击名字为OneSubmit提交组件的时候,需要校验该输入
组件的值的长度至少为12。
4,其它Validator都需要作相应的修改。
目前只完成了MinLength和MaxLength的修改和测试。
结论:这样修改以后校验规则还是在page中进行配置。客户端javascript校验和后台校验两者都可以进行。
下一篇文章将对这些修改之处进行详细说明。敬请关注... |