Uno dei compiti richiesti dall'uso di jQuery nei nostri siti è la validazione lato client dei form, validazione che, ricordiamolo, non dovrà mai e poi mai sostituire quella lato server. Vediamo come validare l'età inserita da un utente.
Possiamo utilizzare il seguente codice all'atto dell'invio del form:
$('#form').submit(function(e){
var day = $('#day').val();
var month = $('#month').val();
var year = $('#year').val();
var age = 18;
var mydate = new Date();
mydate.setFullYear(year, month-1, day);
var currdate = new Date();
currdate.setFullYear(currdate.getFullYear() - age);
if ((currdate - mydate) < 0){
// messaggio di errore
e.preventDefault();
}
});
La tecnica è semplice: utilizziamo la data corrente e dopo averne estratto l'anno lo sottraiamo dall'età minima richiesta (in questo caso 18). Quindi verifichiamo che la data inserita dall'utente sia nel range stabilito.