繁体   English   中英

如何在类函数内发送ajax请求

[英]How to send an ajax request inside a class function

我需要验证数据库中的用户名和电子邮件,为此,我需要发送ajax请求。 到目前为止,对于验证,我已经完成了

var handleRegister= function() {
$('.register-form').validate({
            errorElement: 'span', //default input error message container
            errorClass: 'help-block', // default input error message class
            focusInvalid: false, // do not focus the last invalid input
            ignore: "",
            rules: {

                fullname: {
                    required: true
                },
                email: {
                    required: true,
                    email: true
                },
                confirm_email:{
                    required: true,
                    equalTo: "#email",
                },
                address: {
                    required: true
                },
                city: {
                    required: true
                },
                country: {
                    required: true
                },

                username: {
                    required: true,

                },
                password: {
                    required: true
                },
                rpassword: {
                    equalTo: "#register_password"
                },

                tnc: {
                    required: true
                },
                day: {
                    required: true
                },
                year: {
                    required: true
                }
            },

            messages: { // custom messages for radio buttons and checkboxes
                tnc: {
                    required: "Please accept TNC first."
                }
            },

            invalidHandler: function(event, validator) { //display error alert on form submit   

            },

            highlight: function(element) { // hightlight error inputs
                $(element)
                    .closest('.form-group').addClass('has-error'); // set error class to the control group
            },

            success: function(label) {
                label.closest('.form-group').removeClass('has-error');
                label.remove();
            },

            errorPlacement: function(error, element) {
                if (element.attr("name") == "tnc") { // insert checkbox errors after the container                  
                    error.insertAfter($('#register_tnc_error'));
                } else if (element.closest('.input-icon').size() === 1) {
                    error.insertAfter(element.closest('.input-icon'));
                } else {
                    error.insertAfter(element);
                }
            },

            submitHandler: function(form) {
                form.submit();
            }
        });
}

我知道如何使用Jquery发送ajax请求,我的问题是如何在上述函数中发送请求并设置这两个字段的验证

username: {
                    required: true,

                },
email: {
                    required: true,
                    email: true
                },

验证库API似乎不支持您需要的功能。

我能想到的唯一方法是手动完成,例如

$('.email-field').on('blur', function(e) {
   var valueToValidate = e.target.value;
   $.get('/validate/email', {value: valueToValidate},function(data){
       if(data.result === false){
          $('.invalid-email').show();
       } else {
          $('.invalid-email').hide();
       }
   });
})

如果需要,较长的方法(如果仍然需要此功能)是派生库源代码,自己添加功能,然后将其请求拉到主存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM