Zend_Form_Element_Checkbox e validazione

Programmando con Zend Framework, uno dei migliori modi per costruire una form sicura, prestante e senta troppi impicci è l’uso del componente Zend_Form. In poche righe di codice saremo in grado di chiedere a Zend di scrivere per noi il codice HTML, controllare l’input passato con il metodo definito e dare una risposta adeguata in caso di buon fine o meno della compilazione utente.

La validazione di un checkbox solitamente passa per il semplice controllo fra elemento flaggato o meno. In caso di submit di un elemento checkbox non flaggato, zend passa la variabile con valore 0 (zero). Tale impostazione permette all’elemento di far passare senza troppi problemi i controlli setRequired(true) e addValidator(‘NotEmpty’). Tali controlli vanno però inseriti al fine di rendere sicura la nostra form. Ma per controllare se effettivamente il checkbox è stato flaggato, basta controllare che il valore passato sia maggiore di zero.

$tos = new Zend_Form_Element_Checkbox(‘MyCheckbox’);
$tos->setRequired(true)
    ->setLabel(‘Aggrement’)
    ->addValidator(‘GreaterThan’, false, array(0))
    ->addValidator(‘NotEmpty’);