开发者社区> 问答> 正文

求知识,像表单验证这些,一大堆if的,如何优化:报错 

场景:一个表单要提交,后台要先验证填写的数据是否符合格式,再保存
问题来了,表单不同的格子验证的逻辑全都不一样,如果优化?如果是策略模式,能起效果吗?
例如:
    if(用户名不能为空){
        XXX

    }

    if(密码必须包含字母和数字){

        XXX

    }

    if(两次输入的密码不一致){

        XXX

    }

    if(验证码不正确){

        XXX

    } 像这种情况,如何优化不用写那么多if?本人感觉策略模式也起不了什么作用,毕竟每个if都没有规律

各位大神怎么看?

展开
收起
kun坤 2020-06-08 11:53:45 458 0
1 条回答
写回答
取消 提交回答
  • 不是有jquery validation验证框架么?######策略模式解决不了这个问题。这么多if else 是不可避免的。######如楼上的,前端用JQ的 validation验证,后端也有Hibernate validation######回复 @p2ng : 内网使用,但挂上vpn之后,外网也就可以访问了。曾经被国家什么XX安全中心扫描出来这个漏洞,然后解决的方法可吓人了:把扫描报告中的url补上验证就行了,对,没错,就是那一个url就行了,XX安全中心再来扫的时候,tmd还是扫这个url!然后,就这样通过该牛B中心的扫描了~~######回复 @chenshao : 内网使用的系统一般都这样,没必要做那些无用功。######回复 @没有女朋友new一个 : 哈哈,假如是内网应用(有关部门的)就不用管了,能完成功能,界面够炫,够牛逼...反正外网的人又访问不了。一般里面的人,也不会去查一下你的URL什么,哈哈######回复 @chenshao : 后端不校验,放到互联网上很容易死翘翘的######回复 @chenshao : 哈哈,网址发来,我去乌云刷几个漏洞,混个白帽子当当###### 先定义一个与if层面等价的决策树出来,然后遍历树生成对应结构的javascript验证逻辑.

    ######

    引用来自“p2ng”的评论

    如楼上的,前端用JQ的 validation验证,后端也有Hibernate validation 后端不验是不可能的,要是对方直接调用action攻击就出事故了 问题是太多if ,该死的sonar就报方法太复杂,真TMD- -, ######那找框架能简单了事咯,要不自己弄一套,看别人的思想######有个博客 http://blog.csdn.net/phiberg/article/details/7344853挺好用的######不太爱写前端校验,校验要么移到dom上,简单校验就好,主要加强后端校验!######添加更多的类######这个对性能没什么影响吧 ######没必要搞复杂,就这么写有什么问题,无非不太好看而已
    2020-06-08 11:53:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python第五讲——关于爬虫如何做js逆向的思路 立即下载
前端自动化测试 立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载