2012-04-05 10 views
0

Kann ich ein Formular auf Tastenklick zu validieren, ohne das gesamte Formular Plugin von jquery http://bassistance.de/jquery-plugins/jquery-plugin-validation/Jquery Validierung mit E-Mail

dieses Plugin funktioniert gut mit der Validierung Formular bestätigen, aber ich möchte wirklich überprüfen, ob der Text in einem Text geschrieben Box ist eine E-Mail oder nicht und wenn es eine E-Mail ist, dann muss ich überprüfen, ob es in meiner Datenbank ist oder nicht, wenn es in meiner Datenbank ist, wird es Benutzer geben, um das Formular zu senden, sonst deaktivieren Sie die Schaltfläche jetzt bin ich mit validate plugin wie wie folgt aus:

$('#child1Email').blur(function(){ 
    var result=$('#frmAddChild').validate(); 
    alert(result); 
    //if(result) 
     //Ajax call to my servlet 
    //else 
     //Message box showing wrong email and disabling the submit button 
}); 

PS hielt ich die Klasse des Textfeld mit id :: child1Email als E-Mail, so dass es als E-Mail

<form name='frmAddChild' id='frmAddChild' action='addChild' method='post'> 
    . 
    . 
    . 
    . 
    . 
    <input type="text" name="child1Email" id="child1Email" class='email'/> 
    . 
    . 
    . 
    . 
    . 
</form> 

Aber validiert wird, wenn ich das Ergebnis alarmieren Es zeigt [object Object ]enter image description here

Vielen Dank im Voraus

Antwort

2

Anstatt die Magie in einem neuen Codeblock auszuführen, können Sie einfach Ihre eigene Validierungsregel erstellen.

etwas wie folgt aus:

<input type="text" 
     name="child1Email" 
     id="child1Email" 
     class="email" 
     /> 

das jQuery Validierung Plugin verwenden, können Sie den benutzerdefinierten Code schreiben wie:

$("form").validate({  
    rules: {  
     child1Email: {   
      required: true,   
      remote: "validate-email.jsp"  
     }  
    }, 
    messages: { 
     child1Email: "Email is correct." 
     }, 
     submitHandler: function() { 
      alert("Correct email!"); 
     }, 
     success: function(label) { 
      label.addClass("valid").text("Valid email!") 
     }, 
     onkeyup: false 
}); 

die remote Option erhalten Sie eine GET Anfrage in diesem Format senden:

validate-email.jsp?child1Email=abc%40domain.com 

wo Sie zurück senden true oder false abhängig davon, was Sie reagieren möchten.

Plus, können Sie immer rufen Sie die Validierung selbst, wie:

$("form").submit(function() { 

    if($("form").valid()) { 
     alert('valid form'); 
     return true; // submit automatically 
    } 
    else { 
     alert('form is not valid'); 
    } 

    return false; // no need to submit automatically 
}); 
+0

Ehrfürchtig das ist, was ich for..Thanks viel und +1 nochmals vielen Dank –

+0

nichts, wie das Lesen der Dokumentation suchen;) Sie finden dieses Beispiel auf ihrem Remote-Beispiel> http://jquery.bassistance.de/validate/demo/captcha/ – balexandre