jquery表单验证的问题?

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

杨魅力

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

相关分类

JavaScript