2015-01-24 5 views
5

Ich habe ein HTML-Formular. Ich validiere mein Formular mit jquery.validate.js und es funktioniert bei Submit-Ereignis. Ich möchte dieses Formular validieren, bevor Sie entlassen werden.Validieren Sie das Formular vor dem Senden von jquery

Wie pro meine R & D Ich habe versucht:

$('#my-form').on('before-submit',function(){ 
    alert('Before submit performed'); 
}); 

I Form einfach validieren möchten, bevor Ereignis Brennen einreichen. Kann mir jemand sagen, wie man das macht?

Vielen Dank,

M

+1

Das Plugin macht schon all dies. Bitte erläutern Sie besser, was passiert, damit Sie denken, dass Sie ein anderes Ereignis benötigen. Bitte zeigen Sie Ihren Validierungscode zusammen mit anderem Code an, der zur Reproduktion Ihres Problems erforderlich ist. – Sparky

+0

Das OP gibt an, dass das Formular _before_ submit validiert werden soll, wobei das Validierungs-Plug-in nur beim Senden validiert wird. – ProfK

Antwort

18

Sie können das Standard jQuery-Plugin Verhalten nachahmen wie folgt:

Prüfe, ob die form gültig ist; wenn nicht die Standardaktion verhindert auftretende mit preventDefault():

$(document) 
.on('click', 'form button[type=submit]', function(e) { 
    var isValid = $(e.target).parents('form').isValid(); 
    if(!isValid) { 
     e.preventDefault(); //prevent the default action 
    } 
}); 

EDIT: kommt dies in praktisch, wenn Sie Ihren Validierungstest das heißt für die Feinabstimmung wollen bedingt einige Steuerelemente zu validieren.

+1

Das OP gab an, dass er das jQuery Validation-Plugin verwendet. Dieses Plugin kümmert sich bereits standardmäßig automatisch darum. – Sparky