PHP  »  Articoli  »  CakePHP 

Validare i form con CakePHP

di: Gabriele Farina     13 Settembre 2007

Controllare che i dati inviati dagli utenti siano stati correttamente specificati è un'operazione con non dovrebbe mai essere tralasciata. Spesso ci si ritrova purtroppo in situazioni in cui un sito internet non controlla correttamente i dati da noi immessi e non produce i risultati desiderati in caso si commettano degli errori durante l'immissione. PHP ha recentemente aggiunto delle funzionalità per filtrare i dati in ingresso in base a determinati pattern di validazione ma, come per molti altri framework, CakePHP fornisce un sistema integrato di validazione dei dati che risulta molto semplice ed intuitivo. Questo sistema è anche utilizzato internamente dal framework stesso all'interno degli script generati automaticamente per l'implementazione di interfacce CRUD (Create, Read, Update and Delete).

In questo articolo valuteremo cosa offre CakePHP per la validazione dei dati facendo alcuni esempi pratici di uso quotidiano.

I validatori di default

CakePHP viene fornito con una serie di validatori di default. Questi validatori sono espressioni regolari che vengono utilizzate per validare i dati di un modello a runtime. I validatori di default a disposizione sono quattro:

  • VALID_NOT_EMPTY: controlla che il valore di un attributo del modello non sia vuoto;
  • VALID_NUMBER: controlla che il valore di un attributo del modello sia un numero valido;
  • VALID_EMAIL: controlla che il valore di un attributo del modello sia un'email valida;
  • VALID_YEAR: controlla che il valore di un attributo del modello sia un valore annuale valido;

Quando definiamo un modello possiamo specificare delle espressioni regolari da utilizzare per la validazione che verranno applicate a runtime. Tra queste espressioni regolari, compatibili con Perl, possiamo anche utilizzare quelle di default:

<?php

class TestModel extends AppModel
{
   var $name = 'TestModel';
   
   var $validate = array(
      'numer'           =>   VALID_NUMBER,
      'required_field'  =>   VALID_NOT_EMPTY,
      'email'           =>   VALID_EMAIL,
      'custom'          =>   '/[a-n]+/i'
   );
}

?>

I validatori sono specificati nella variabile $validate, che è un array associativo che mappa ad ogni proprietà di un modello il suo validatore. Ogni volta si tenterà di accedere in scrittura ad un elemento del modello sarà la classe AppModel stessa che si occuperà di recuperare il validatore e, se presente, di applicarlo al valore assegnato. Se fosse necessario validare manualmente i campi è possibile utilizzare direttamente il metodo validate() del modello.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti