Ho bisogno che gli utenti siano in grado di creare URL parziali senza dover digitare l'URL completo ogni volta.Come estendere la validazione URL jquery.validate?
Ad esempio, supponiamo di pianificare l'URL www.example.com/areas/{userinput}/home
. Voglio che l'utente sia in grado di inserire del testo in una casella di testo e voglio verificare che sia un URL valido.
l'URL funzioni validatore come questo:
url: function(value, element) {
return this.optional(element) || /giantregex/.test(value);
}
ho tentato di aggiungere un metodo di convalida al validatore tramite il seguente:
$.validator.addMethod("exturl", function(value) {
return $.validator.methods.url.call($.validator, "http://www.example.com/areas/" + value + "/home");
});
Tuttavia, quando il modulo viene convalidato e la mia estensione si chiama, continuo a ricevere questo errore:
Uncaught TypeError: Object function (d,a){this.settings=b.extend(true,{},b.validator.defaults,d);this.currentForm=a;this.init()} has no method 'optional'
optional
sembra essere un metodo sull'oggetto $.validator
ma non riesco a capire come chiamare il metodo url del validatore.
if (!/^ (Https? | Ftp): \/\ // i.test (val)) {Questa riga è commentata come per // – Sam
Quindi non c'è alcuna possibilità che quanto sopra funzioni esattamente – Sam
Questo codice non funziona. –