作为前端,需要经常验证用户输入和表单提交,一般像验证姓名,手机号,邮箱,身份证号等都在前端用正则匹配来验证就够了,传到后台以后后台可以再验证一次,但是最近项目要求统一调用后台接口进行验证。那么问题来了,如果只是在前端正则验证,那只需要判断每个输入的验证均为true,然后提交表单即可,如下:
if( validateMob() && validateId && validateMail()...){
submitForm();
}
但是现在要调后台接口进行验证,那就会出现下面情况,因为是异步操作,所以不确定谁会先验证返回结果,所以在验证每一项的时候都要判断所有的返回结果是不是都是true,如果都是true,再进行提交操作
//创建变量记录各项的验证状态
var mob_status = false,
id_status = false,
mail_status = false;
function validateMob() {
$.ajax({
url:"",
data:"",
success: function (ret) {
if(ret){
mob_status = true;
if( mob_status && id_status && mail_status){
submitForm();
}
}
}
})
}
function validateId() {
$.ajax({
url:"",
data:"",