属性验证

您好,请教一下validate的问题,现在jfinal框架只支持一个个写属性的验证码,有没有类似定义验证方法,标记到对象的属性上,就自动验证,因为这样比较简单,开发写的代码量少,如果每个属性都一个个的写规则验证、长度验证感觉比较麻烦。

评论区

JFinal

2018-03-09 10:09

是对什么样的类进行验证? 是不是 model ?

美悦

2018-03-09 12:38

@JFinal 是model,但是有很多属性,例如,规则、长度等属性的验证

JFinal

2018-03-09 14:29

@美悦 目前不支持 model 上的属性上去验证,有很多原因:
1:jfinal model 本身是没有属性字段的,所以这个功能也就无从谈起了

2:即便是要支持普通的 Java bean,jfinal 的思路是验证要在控制层或者业务层处理好,当数据到达 model 时验证,要么太迟,要么就太早

当然,这也只是我一家之言,大家可以自己实践,看看哪种方法更好,可以反馈给我,如果确实好,我会将功能做到 jfinal 中去

netwild

2018-03-09 16:04

给你说下我的思路,请参考
编写一个通用的前台表单验证脚本,负责两件事:
1、对表单中,所有标记了必填、长度、正则的输入项进行验证,发现不符合的,直接提示,都满足要求,才允许提交表单
2、对上面说的那些输入项,自动生成一个服务器端的验证凭据,也添加到表单中,随原有表单项一起提交到服务器

服务器端创建interceptor,对post过来的,并且验证凭据属性不为空的请求进行验证,根据验证凭据里的要求(必填、长度、正则)对各个字段进行验证,通过后继续执行,否则返回原页面给出错误提示。

这样只需要在form中为输入项添加验证规则即可,之后前台、后台的验证都是自动完成的,直接编写业务逻辑就OK了

热门反馈

扫码入社