Corsi on-line

jQuery validation e problemi con le date

Sviluppando di recente un progetto ho deciso di utilizzare la jQuery validation plugin per la validazione client side degli input provenienti dai form; tutto bene su quasi tutti i browser e quasi tutto bene anche su Chrome, se non fosse per un piccolo problema relativo al controllo sulle date. Grazie alla proprietà “date” l’estensione è in grado di controllare i formati del tipo “dd/mm/yyyy“, ma sul browser di Mountain View questo funzionalità sembra non funzionare; cerca e ricerca ho finalmente trovato la soluzione.

In pratica il problema sta nel fatto che l’estensione si limita ad effettuare l’istanza di un oggetto date e a lasciare così a JavaScript il compito di validare il formato:

date: function(value, element) {
     return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
}, 

Per rimediare a questo problema sarà necessario modificare il contenuto del file del plugin in questo modo:

date: function(value, element) {
     // commentate questa riga
     //return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
     var d = new Date();
     return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
 },

La modifica è supportata da tutti i browser più utilizzati.

Post correlati
I più letti del mese
Tematiche