2016-05-01 8 views
0

Ich muss meine Benutzernamen und E-Mails aus der Datenbank überprüfen und dafür muss ich Ajax-Anfragen senden. Bisher für Validierungen, ich habe dieseSo senden Sie eine Ajax-Anfrage innerhalb einer Klassenfunktion

getan
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(); 
      } 
     }); 
} 

Ich weiß, wie ajax Anfrage Jquery mit senden, meine Frage ist, wie kann ich die Anfrage und stellen Sie die Validierungen für diese 2 Felder in oben Funktion

senden
username: { 
        required: true, 

       }, 
email: { 
        required: true, 
        email: true 
       }, 
+0

Sie können dies hilfreich finden: http://stackoverflow.com/questions/11469616/jquery-form-validation-before-ajax-submit –

+0

Nops, schon angeschaut – baig772

Antwort

1

Sieht aus wie Validate library API unterstützt keine Funktion, die Sie brauchen.

Der einzige Weg, es zu tun, ich einfach es manuell tun, ist zu denken, wie

$('.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(); 
     } 
    }); 
}) 

Längerer Weg, es zu tun (wenn Sie noch diese Funktion benötigen) ist Bibliotheksquellen gabeln, addieren, von selbst und ziehen Sie es zum Haupt-Repository anfordern.

Verwandte Themen