2009-09-02 5 views
24

Ich versuche, einen benutzerdefinierten Validator mit jQuery Validation Plugin zu verwenden. Allerdings bin ich unsicher, wie Sie mehrere Argumente an eine Validierungsmethode übergeben sollen? Ich habe versucht, (2,3), geschweifte Klammern und Kombinationen, aber ich habe es versäumt.jQuery Validation Plugin benutzerdefinierte Methode. Mehrere Parameter

Dies ist der Code - ???? markiert den Bereich über Ich brauche info:

$(document).ready(function() { 
     jQuery.validator.addMethod("math", function(value, element, params) { 
      return this.optional(element) || value == params[0] + params[1]; 
     }, jQuery.format("Please enter the correct value for {0} + {1}")); 

     $("#form_register").validate({ 
      debug: true, 
      rules: { 
       inputEl: { required: true, math: ???? } 
      }, 
      messages: { 
       inputEl: { required: "Required", math: "Incorrect result" } 
      } 
     }); 
}); 

Antwort

38

Javascript-Arrays:

[value1,value2,value3] 

SO könnte Ihr Code sein:

inputEl: { required: true, math: [2, 3 ,4 , 5] } 
+0

Hat den Trick gemacht. Vielen Dank. – BuzzBubba

17

Sie auch eine normale JavaScript-Objekt als Parameter übergeben kann, die Ich persönlich finde es einfacher zu arbeiten mit:

jQuery.validator.addMethod("myRule", function (value, element, options) { 
    return value === options.data; 
}, "My Rule says no!"); 

$("#input").rules("add", { myRule: { data: "foo" } });