ALL好!
关于在java-web中的参数校验,大伙是怎么考虑的呢?
我自己是这样考虑的,在前端和后台都要校验的。
前端的校验是必须的,这个很简单,因为客户体验。
后台的校验更是必须的,关键在于如何与目前我们的分层思想(action层、业务层、持久层)综合起来考虑。在每层都要进行校验吗?还是只在是某个特定层做就可以了?是否有好的校验框架(如前端的jquery校验框架、springmvc校验框架)?
------解决方案--------------------
action层啊,ation不是有validate效验的吗,校验后把不通过把错误提示,发给页面,一般来说效验是在action层,直接更页面交互的,如果有其他特殊校验的就看情况了
------解决方案--------------------
楼上说的对,后台一般是action校验,前台可以用jquery或者js校验
------解决方案--------------------
YOU好!
正规项目肯定是前台后台都需要验证的,前台基于Javascrpit,后台的话一般都是在控制层处理,这个参数本身就是由控制层接收,所以还牵扯不到业务层和持久层,具体的验证方法有很多,可以自己封装一个类,也可以用一些框架,比如Struts2就有自带的验证框架,总之有就可以了。
------解决方案--------------------
关于参数校验,分为前端和后端。前端,可以定义一定的校验规则,比如一个input需要输入邮箱格式,通过自定义属性validateType="email",当提交的时候,都需要触发校验的js组件,当读取input的validateType的时候,去掉用校验的js组件,js校验组件,可以这样定义validate.email=funciton(val){},就可以通过validate[validateType](val)进行校验前端的了,这里就是说明确定规范,从而可以使得校验更简单,不需要每次写一大堆的if,else,而且每个页面都要写,根据很累赘
而后端,可以通过注解的方式进行配置校验规则,并且通过拦截器拦截请求的参数,读取配置的注解信息,进行校验。
个人觉得校验不关前端还是后端,尽量不要和业务耦合太紧,不然代码会显得很臃肿。
------解决方案--------------------
前端 jQuery valid 后端 springmvc valid
------解决方案--------------------
前端还是需要做校验的,后端是需要将重要的字段进行校验。