表单验证可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
最近在开发过程中遇到一些表单验证的问题,整理一下,权当抛砖引玉分享给大家。
1.请求问题:
表单验证需要http请求协议
http请求协议包括get和post常用的两种,如何区分呢?
get请求是在请求行的URI上面提交数据,而URI最终会显示到浏览器地址栏上。
get请求的设计目的是用户发送同一个请求路径的时候,不在从服务器上获取资源,直接从浏览器缓存中拿该
资源,提高用户的体验。因此get请求设计为支持缓存。
post请求“主要的目的”是向服务器提交数据。post请求不会被浏览器缓存起来。默认是不支持,由于get请求应用比较广泛,我们先了解一下post请求应用场景:
提交的信息中含有敏感信息的时候,
- 提交的数据量超大,
- 提交的是流媒体(文件、视频、声音、图片....)数据,
- 发送请求的主要目的是:向服务器传送数据的,
表单验证的时候使用的是ajax异步请求,ajax异步请求是需要执行servlet,并且连接数据库的,这可能会导致网络延迟,
当验证还没有响应json的时候,前端的span标签中不会显示错误信息,此时表单提交的时候会认为所有表单项都是合法的,
会提交表单数据。
针对于以上这种情况,在实际的开发过程中,表单项一旦涉及到ajax验证的话,ajax这个请求需要使用同步AJAX。