Nel lavoro dello sviluppatore un giorno si e l’altro pure ci si scontra con la validazione di campi input derivanti da form.
Cosa vuol dire validare? La validazione non è nient’altro che un controllo sul valore dell’input, un esempio pratico è quello del campo email in una registrazione.

L’HTML ci permette di assegnare l’attributo text a quel campo ma non controlla la validità dell’indirizzo. Ecco perchè è necessario controllare la formattazione del valore per certificare che esso sia un indirizzo email.

Per risolvere questo problema ho scritto una classe in PHP che permette di validare diversi tipi di campi:

  • Stringhe
  • Numerici
  • Email
  • URL
  • Date

Per prima cosa è necessario che il vostro spazio web supporti PHP 5, se è così il secondo passo è scaricare la classe direttamente da GitHub.

Installazione

Una volta scaricata la classe e caricato sul vostro server il file class.validate.php è necessario collegarlo e inizializzare la classe.

require("class.validation.php");
$validate = New Validate("ITA");

La classe è localizzata in italiano, inglese, spagnolo e tedesco, per tanto vi basterà passare il codice relativo alla lingua per ottenere i messaggi di errore nella lingua desiderata.

I codici per le lingue sono:

  • ITA – Italiano
  • ENG – Inglese
  • DEU – Tedesco
  • ESP – Spagnolo

Utilizzo

Prima di iniziare impostiamo una variabile di errore dove immagazzineremo i messaggi di errore da ogni campo validato.

$error = "";

A questo punto utilizzeremo un metodo per ogni campo da validare. Nel caso di un campo “Nome” che deve essere obbligatorio, lungo almeno 3 caratteri e al massimo 255 il controllo sarà:

$error .= $validate->String($_POST["nome", "Nome", true, 3, 255);

Il primo parametro è il valore del form (qualora fosse passato via GET chiaramente la variabile sarà $_GET[“nome”]), il secondo valore è l’etichetta che ha il campo, il terzo è l’obbligatorietà o no del campo (in questo caso impostata a true quindi obbligatorio), il quarto e il quinto sono i caratteri minimi e massimi.

Il metodo restituisce la stringa di errore ecco perchè viene associato alla variabile di errore.

Il funzionamento è praticamente lo stesso per tutti i metodi.

Metodi

$validate->String(valore, etichetta, obbligatorietà, caratteri minimi, caratteri massimi)
$validate->Numeric(valore, etichetta, obbligatorietà, caratteri minimi, caratteri massimi)
$validate->Email(valore, etichetta, obbligatorietà, caratteri minimi, caratteri massimi)
$validate->URL(valore, etichetta, obbligatorietà, caratteri minimi, caratteri massimi)
$validate->Date(valore, etichetta, delimitatore, obbligatorietà)