为了账号安全,请及时绑定邮箱和手机立即绑定

jquery表单验证的问题?

jquery表单验证的问题?

Qyouu 2019-04-09 20:23:37
我在做jquery表单验证的时候用的是监控input的blur事件来做合法性检查,然后把每次检查的结果保存下来,但是有可能出现的问题是:用户先输入合法的字符串,然后tab切换input,这样就产生了一个blur事件,这时候检查的结果是合法的在提交表单之前,把输入改成不合法的,这样由于产生blur事件后不验证的话,是可以合法提交的问题:做表单验证一般用的是否是blur事件监控?在提交表单前难道要对所有的输入再check一次吗?
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

验证事件
blur事件一般来看是准确的。
但在某些特定环境下,也许还真的未必会触发。
例①,网络缓慢,js加载与用户输入同时进行。
例②,某些用js实现Ctrl+Enter提交的表单,则按Ctrl+Enter之后文本框应该是不失去焦点的。
所以blur事件要用,提交前最后验证也必须要用。
我推荐以下三个验证一起用:blur事件、keyup后延时(不必每次keyup都做,也不必keyup后立刻做)、表单提交前。
验证UI
表单填写中的验证都是一样的:对的打绿色对号。错的把文本框略微标红,然后打个叉,能给出错误原因最好。表单提交前的验证,就是把验证对每个输入都再做一遍。
正确而明显的指示,可以让用户明白错的在哪里,不必担心。
一定不要用alert或相似的提醒框来打扰用户。这个的体验太差了。
正确的拒绝方式是,点击提交时无任何动作,只在提交按钮上方蹦出一行红字提示“(!)数据有错误,请返回修改”。这个可以快速闪烁两下引起注意。至于具体错了什么,让用户回表单里边找去。
注意当用户开始修改的时候,就把“数据有错误,请返回修改”这些字隐藏掉,以便再次提交再次错误时,能正确的再次弹出引起注意。
后端验证不可缺少
千万不要忘了:前端验证为体验,后端验证为安全。表单传输到服务器之后,在后端一定要再次验证一遍,以防非法输入。有任何错误就跳转回表单页,并把错误信息返回去。后端的验证是绝对不可缺少的,否则就是对数据安全的严重失职。必须就是必须,这没有商量的余地,任何诸如“可以”、“最好”、“建议”一类的模棱两可的发言,都是完全不能接受的!
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信