【问题标题】:How to send an ajax request inside a class function如何在类函数中发送 ajax 请求
【发布时间】:2016-05-01 02:10:16
【问题描述】:

我需要从数据库验证我的用户名和电子邮件,为此我需要发送 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
                },

【问题讨论】:

标签: javascript jquery ajax


【解决方案1】:

看起来Validate library 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();
       }
   });
})

更长的方法(如果您仍然需要此功能)是 fork 库源,自己添加功能并将请求请求到主存储库。

【讨论】:

    猜你喜欢
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多