Le date

il componente di form.io per le date è piuttosto avanzato ma può creare problemi di compatibilità con i browser più datati, per fare una form con alto grado di compatibilità consigliamo un campo textfield con input mask 99/99/9999 a cui aggiungiamo una validazione js del tipo:

let passedDate = moment(data.<api>, 'DD/MM/YYYY');
if (!passedDate.isValid()){
  valid = "La data inserita non è valida";
}
if (passedDate.isAfter(moment())){
    valid = "La data inserita non può essere successiva alla data odierna";
}

Controlli avanzati

Questo controllo può essere aggiunto alla custom validation per verificare che la data contenuta nel campo della form my_expiry_date sia valida e successiva alla data odierna.

Il lavoro più rilevante lo fa la libreria momentjs, alla quale si rimanda per maggiori informazioni.

Data di nascita di un minorenne

date = moment(input, 'DD/MM/YYYY')
if (date.isAfter(moment())) {
  valid = "La data non può essere nel futuro"
} else {
  if (moment().diff(date, 'years') > 18) {
    valid = "L'età inserità non è quella di un minorenne"
  }
}

Data successiva alla data odierna

let myDate = moment(data.my_expiry_date, 'DD/MM/YYYY');
if (!myDate.isValid()){
    valid = "La data inserita non è valida";
}

if(!moment(data.my_expiry_date,'DD/MM/YYYY').isSameOrAfter(moment(new Date()),'day')
){
    valid = "La scadenza deve essere uguale o successiva alla data odierna "
}

Se il modulo che si sta implementando deve supportare il multilingua, è necessario gestirlo nel codice, controllando la lingua della pagina (il tag html contiene la lingua della pagina corrente come attributo) e inserendo le stringhe nelle lingue che si desidera supportare.

Last updated

Logo

Documentazione Opencity Italia