Riferimento rapido

Cheat Sheet Validazione Moduli Parsley.js

Guida rapida a Parsley.js: attributi data HTML5, regole di validazione, API JavaScript per form e campi, validatori personalizzati.

· Pubblicato

Parsley.js fornisce una potente validazione dei form lato client senza codice boilerplate.

Inizializzazione

// Inizializzazione JavaScript raccomandata
$('#myForm').parsley({
  errorClass: 'is-invalid',
  successClass: 'is-valid'
});

Vincoli standard di validazione HTML

<!-- Obbligatorio -->
<input required />

<!-- Tipi Email ed URL -->
<input type="email" />
<input type="url" />

<!-- Limiti di lunghezza -->
<input minlength="6" maxlength="20" />
<input data-parsley-length="[6, 20]" />

<!-- Pattern numerici e regex -->
<input pattern="^[A-Z0-9]+$" />
<input data-parsley-type="digits" />
<input data-parsley-type="alphanum" />

<!-- Intervallo numerico -->
<input type="number" min="1" max="100" />
<input data-parsley-range="[1, 100]" />

<!-- Limiti di selezione per checkbox -->
<input type="checkbox" name="hobbies" data-parsley-mincheck="2" />

<!-- Verifica conferma password -->
<input id="password" type="password" />
<input type="password" data-parsley-equalto="#password" />

API JavaScript per form e campi

Metodi del form

const form = $('#myForm').parsley();

form.isValid();   // Restituisce true se valido, false se non valido
form.validate();  // Esegue la validazione e mostra i messaggi di errore
form.reset();     // Resetta lo stato di validazione e cancella gli errori
form.destroy();   // Rimuove i gestori di Parsley dal form

Metodi del campo

const field = $('#username').parsley();

field.isValid();
field.validate(); // Restituisce array di vincoli falliti

Validatori personalizzati

Registra validatori personalizzati a livello globale:

window.Parsley.addValidator('multipleOf', {
  requirementType: 'integer',
  validateNumber(value, requirement) {
    return value % requirement === 0;
  },
  messages: {
    it: 'Questo valore deve essere un multiplo di %s.',
    en: 'This value must be a multiple of %s.'
  }
});

Utilizzo nel markup:

<input type="number" data-parsley-multiple-of="5" />

Riferimenti

Argomenti correlati