2010-10-06 4 views
8

Ich benutze jquery für die Validierung in meiner MVC2 Web App (as described here) und möchte einige Callbacks verbinden, die das jquery validation plugin unterstützt, wie invalidHandler usw.Wie kann ich Callbacks zur jQuery-Validierung hinzufügen (wenn in MVC 2 verwendet)

ich kann die MicrosoftMvcJQueryValidation.js manuell bearbeiten und meine Rückrufe hinzufügen (in __MVC_EnableClientValidation, in den Optionen Variable), aber ich war auf der Suche nach einem besseren Ansatz, da diese Datei wiederholt verwendet wird und ich will nicht haben, um einmalige Kopien zu erstellen.

Eine Möglichkeit, einen invalidHandler (etc) Callback manuell zur Formularvalidierung hinzuzufügen, wäre genau das, was ich brauche. Offensichtlich würde dies normalerweise beim ersten Aufruf von validate() über die Optionen geschehen, aber da Microsoft diesen bestimmten Teil kontrolliert, ist das keine Option.

Antwort

9

Von Herikstad.net:

Wenn Sie ein Problem haben, in dem Sie benötigen invalidHandler die Möglichkeit, um Ihre jqueryValidate (jQuery Validation Plugin) nachdem es initialisiert wurde, dies ist, wie es sein kann, getan:

$(document).ready(function(){ 
    $("#contactForm").bind('invalid-form.validate', 

     function(form, validator) { 
      alert('validation failed!'); 
     } 
    ); 
}); 

regelmäßig würden Sie diese Initialisierung auf hinzufügen:

$(document).ready(function(){ 
    $('#contactForm').validate({ 
     invalidHandler: 
     function(form, validator) { 
      alert('validation failed!'); 
     }, 
     rules: {} 
    }); 
}); 

Hinweis: invalidHandler wird aufgerufen werden, wenn die Validierung von Formular auf nicht vorlegen (z Werte für ein Feld ist fehlt oder so).

Dies könnte für andere Optionen von der jqueryValidate Plugin funktionieren, aber ich bin nicht sicher welche Eigenschaft zu verwenden. Ich fand die Eigenschaft, in der jquery.validate.js Datei zu binden, könnten Sie wollen, um dort zu suchen.

Verwandte Themen