form表单验证如何在验证完之后ajax提交数据

function addUser() {
    let data={}
    $.each($("#addUser").serializeArray(),function () {
        data[this.name]=this.value;
    })
    let userName=$("input[name='userName']").val();
    let password=$("input[name='password']").val();
    let password2=$("input[name='password2']").val();
    let mobile=$("input[name='mobile']").val();
    let remarks=$("input[name='remarks']").val();
    let mobileReg=/^1[3|4|5|8][0-9]\d{4,8}$/i;
    if(userName.length==0){
        let formAlert=$("input[name='userName']").next(".form-alert");
        formAlert.show();
        formAlert.html("用户名不可以为空");
    }
    if(password.length==0){
        let formAlert=$("input[name='password']").next(".form-alert");
        formAlert.show();
        formAlert.html("密码不可以为空");
    }
    if(password2.length==0){
        let formAlert=$("input[name='password2']").next(".form-alert");
        formAlert.show();
        formAlert.html("请再次输入密码");
    }else if(password2!==password){
        let formAlert=$("input[name='password2']").next(".form-alert");
        formAlert.show();
        formAlert.html("两次密码输入不一致");
    }
    if(remarks.length==0){
        let formAlert=$("input[name='remarks']").next(".form-alert");
        formAlert.show();
        formAlert.html("备注信息不可以为空");
    }
    if(mobile.length==0){
        let formAlert=$("input[name='mobile']").next(".form-alert");
        formAlert.show();
        formAlert.html("手机号不可以为空");
    }else if(!mobileReg.test(mobile)){
        let formAlert=$("input[name='mobile']").next(".form-alert");
        formAlert.show();
        formAlert.html("手机号格式不正确");
    }
    $.ajax({
        type : "POST",
        url : "/api/user/add",
        data :data,
        success : function(result) {
            $(".alert").show();
            if(result.msg=='注册成功'){
                $(".alert").addClass('alert-success').removeClass('alert-danger');
            }
            $(".alert").text(result.msg);
            setTimeout(function () {
                $(".alert").hide();
            },3000)
            console.log(result)
        },
        error:function (result) {
            $(".alert").show();
            $(".alert").text(result.msg);
            setTimeout(function () {
                $(".alert").hide();
            },3000)
        }
    });
}

如上代码,是我写的表单验证,如何保证在验证都对了之后再跳转到ajax,现在是直接就会跳ajax

阅读 5.1k
3 个回答

验证不通过的地方return一下

就是楼上说的,在验证不对的地方直接return

新手上路,请多包涵

ajax()不可以放在一个if语句中中吗,直接写肯定是页面刷新就执行啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题