如何实现完美的表单验证?js? jquery? struts? ajax?
登录为例:首先,如果用js,必定要有事件,如果用onblur(),暂且不说默认没有光标这回事,我们设想已经把光标定位到“用户名”这里,但是如果登陆页面上有“注册”这一功能...
登录为例:
首先,如果用js,必定要有事件,如果用onblur(),暂且不说默认没有光标这回事,我们设想已经把光标定位到“用户名”这里,但是如果登陆页面上有“注册”这一功能,你直接去点击“注册”,会出现什么样的情况?会对表单验证而不会跳转; 如果用onclick()事件,首先要把提交按钮的type设置为button而不能是submit,但是这样的话,如果后台要判断用户名重复,密码正确等操作时,由于整个表单并没有submit所以根本获取不到数据!在js里是可以通过地址栏传参给action的,但是没有加密并不安全! 综上 js不太好用!
其次说jQuery和struts的validate验证, 的确可以在表单提交以前对所有的表单进行验证,但是如果用户什么不输而直接提交的话,页面会显示全部的错误信息,感觉太乱,细想中药对表单逐个验证,只显示第一个不满足验证的错误信息即可!所以感觉也不是很好用!
再推一步说,如果把所有的判断都放在action里,然后再在页面里取出返回的errMessage的话,确实可以控制错误信息的显示问题,但是新的问题是不能局部刷新,取出errMessage是要通过页面跳转的,而且,如果用户在很多的输入框只有最后一个出错的话,页面刷新后,前面正确的信息会全部刷掉,用户体验感很不好!所以也不太可行!
所以在此向请教一下 有没有我想要的那种表单验证的方法 如何实现? 谢谢喽!大家帮帮忙啊 展开
首先,如果用js,必定要有事件,如果用onblur(),暂且不说默认没有光标这回事,我们设想已经把光标定位到“用户名”这里,但是如果登陆页面上有“注册”这一功能,你直接去点击“注册”,会出现什么样的情况?会对表单验证而不会跳转; 如果用onclick()事件,首先要把提交按钮的type设置为button而不能是submit,但是这样的话,如果后台要判断用户名重复,密码正确等操作时,由于整个表单并没有submit所以根本获取不到数据!在js里是可以通过地址栏传参给action的,但是没有加密并不安全! 综上 js不太好用!
其次说jQuery和struts的validate验证, 的确可以在表单提交以前对所有的表单进行验证,但是如果用户什么不输而直接提交的话,页面会显示全部的错误信息,感觉太乱,细想中药对表单逐个验证,只显示第一个不满足验证的错误信息即可!所以感觉也不是很好用!
再推一步说,如果把所有的判断都放在action里,然后再在页面里取出返回的errMessage的话,确实可以控制错误信息的显示问题,但是新的问题是不能局部刷新,取出errMessage是要通过页面跳转的,而且,如果用户在很多的输入框只有最后一个出错的话,页面刷新后,前面正确的信息会全部刷掉,用户体验感很不好!所以也不太可行!
所以在此向请教一下 有没有我想要的那种表单验证的方法 如何实现? 谢谢喽!大家帮帮忙啊 展开
5个回答
展开全部
表单验证用js做完全可以,用户名密码验证提交后在action中做就可以了,所以你的要求用js完全能满足,研究下怎么做吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的要求太高啦!
其实js可以实现的,你还是把按钮设为button,然后onclick=“验证函数();this.form.submit();”
就ok啦!
我通常都是用jQuery的,还是不错的吧!语法少,不需要函数,当然要验证的也不会太复杂
其实js可以实现的,你还是把按钮设为button,然后onclick=“验证函数();this.form.submit();”
就ok啦!
我通常都是用jQuery的,还是不错的吧!语法少,不需要函数,当然要验证的也不会太复杂
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你自己想要什么都没说...
"前台JS.
后台Action.
双重验证."
想要什么样的结果, 自己做.
多学学JS. 我还没听谁说过前台用JS验证不好呢...
不是没有你要的那结果. 是你都不会用呢. 怎么能实现你要的结果呢.
还是那句话:"前台JS. 后台Action. 双重验证."
"前台JS.
后台Action.
双重验证."
想要什么样的结果, 自己做.
多学学JS. 我还没听谁说过前台用JS验证不好呢...
不是没有你要的那结果. 是你都不会用呢. 怎么能实现你要的结果呢.
还是那句话:"前台JS. 后台Action. 双重验证."
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询