Formaggino: la nostra libreria JavaScript per validare i form

Parole
Pierdomenico Reitano
Immagini
Corinna Stacchini
Tempo di lettura
4

Controllare che i dati inseriti dagli utenti siano coerenti e validi è una delle attività più importanti nello sviluppo di progetti web: abbiamo creato Formaggino per rendere questo il più semplice possibile.

S

Formaggino per controllare i form

La funzionalità core di questa libreria si basa principalmente sul metodo HTMLSelectElement.checkValidity(), un metodo delle WebAPIs che permette di scatenare un evento di verifica dei dati in qualsiasi momento vogliamo, eseguendolo ad esempio tramite un event listener.

La libreria è composta da tre classi principali 

  • Requests: che si occupa di gestire le chiamate asincrone e di passare i dati che riceviamo dal form
  • Validation: che gestisce tutte le azioni di triggering degli errori lato interfaccia
  • Formaggino: che raccoglie le 2 precedenti per fare si che possano essere chiamate con semplicità 

Non facciamo altro che personalizzare l’output che riguarda gli errori, giocando semplicemente con l’inserimento o l’eliminazione della classe ‘active’ all’interno degli elementi che vogliamo mostrare o nascondere.

Come Funziona?

Utilizzare Formaggino è semplicissimo e veloce. 

Basterà installare il pacchetto tramite NPM o Yarn.

npm install formaggino

yarn add formaggino

Adesso possiamo includere la nostra libreria nel codice js.

import Formaggino from "formaggino";

const formaggino = new Formaggino();

La libreria riconosce tutte le informazioni che vengono passate tramite l'elemento html <form> ed effettua l'invio dei dati in maniera asincrona. L’attributo novalidate è fondamentale per impedire al browser di effettuare la validazione standard quando viene fatta l’azione di submit.

<form

  method="POST"

  id="form"

  action="https://your-action.io/sendform"

  novalidate

>

  <input name="name" type="text" required />

  <span class="form-error">Your error text</span>

  ...

  <div class="form-report-error">error</div>

  <div class="form-report-success">success</div>

  <span class="form-loading"> loading... </span>

  <button type="submit">submit</button>

</form>

Passiamo all’attributo action l’endpoint delle nostre api o il link alla pagina che processa i dati inseriti degli utenti. 

Adesso possiamo chiamare il metodo submitEvent che si occuperà lanciare la validazione quando noi effettuiamo il subit.

formaggino.submitEvent("#form");

Basterà infine definire il nostro css per agire sulle notifiche 

.form-error,

.invalid-feedback,

.form-loading,

.form-report-error,

.form-report-success {

  display: none;

}

 

.active {

  display: block;

}

 

.form-error{

     color: red;

}

Abbiamo deciso di scrivere il progetto in VanillaJs per dare un alto grado di libertà a coloro che la utilizzeranno, evitando di legarsi a particolari dipendenze.

Formaggino è un progetto open source: puoi trovare il codice qui, nella nostra repo GitHub, e informazioni più dettagliate sulla documentazione qui. Al momento il progetto è in una fase embrionale e stiamo lavorando a ulteriori features, come la gestione dell’invio di file e l’inserimento di ulteriori opzioni per garantire il più alto grado di configurazione.

Analizza la tua presenza online.

Scrivici per una consulenza gratuita



Richiedi consulenza

Pierdomenico Reitano

Senior Fullstack Developer

Ho iniziato ad approcciarmi con il mondo del web non appena finite le scuole superiori, una mia amica mi disse che frequentava una scuola di web design, così senza pensarci troppo mi iscrissi e fu amore a prima ...