Zend_Form: ejemplo básico
Febrero 29th, 2008 Luis Artola
Necesidades habituales de un programador al desarrollar formularios web:
- generar el html
- validar la entrada de datos
- filtrar la salida
- gestionar los datos por defecto, datos tras error de validación, etc.
- gestionar los mensaje en caso de error.
Os pego aquí un ejemplo básico de uso donde se puede ver como, además, con una simple línea cargo en un desplegable los dato de la BD:
$form = new Zend_Form();
$form->setAction(’/index/registrarse’)
->setMethod(’post’);
$form->clearDecorators();
$form->addDecorator(’FormElements’)
->addDecorator(’HtmlTag’, array(’tag’ => null))
->addDecorator(’Form’);
$decorators = array(
array(’ViewHelper’, array(’tag’ => null)),
array(’Errors’, array(’tag’ => null)),
array(’Label’, array(’tag’ => null, ’separator’=>’
‘)),
array(’HtmlTag’, array(’tag’ => null)),
);
$form->addElement(’select’,'usuarios’, array (
‘MultiOptions’=>Zend_Registry::Get(’dbAdapter’)->fetchPairs(’SELECT IdUsuario,Nombre FROM usuarios’),
‘label’ => ‘Elige usuario’,
‘validators’ => array(’NotEmpty’),
‘required’ => true,
‘decorators’ => $decorators
)
);
echo $form;
En éste ejemplo hago bastante hincapié en el uso de decorators. Que yo creo que es lo que peor está explicado en la documentación del Zend_Form. Lo mejor es que uno puede cargar con Zend_Registry un array de decorators, en vez de declararlo cada vez como he hecho yo, de tal manera que si cambia el array, cambiará el HTML de todos los formularios. ¡máxima reutilización!
El Zend_Form ofrece una manera elegante de gestionar todo lo relacionado con la programación de formularios de manera muy sencilla.
NOTA: cada vez que copipasteo código PHP en el blog sale un chorizo. ¿algún plugin de wordpress para “embellecer” mi código?
Loading ...
5 Comentarios Nuevo comentario
1. maeghith | Febrero 29th, 2008 at 6:23 pm
Usa el tag ‘code’ correctamente.
Si miras el código de esta página verás que el tag ‘code’ está vacío y que el código realmente está entre tags ‘p’ como si fuera texto de párrafos normal y corriente.
Esto puede ser por que estés usando un editor WYSIWYG para escribir los posts. Puedes cambiar a edición en HTML la próxima vez que vayas a pegar código de algún lado, y volver al editor WYSIWYG despues de pegar el código.
2. Luis Artola | Marzo 3rd, 2008 at 8:51 am
Puff… gracias maeghith! Lo curioso es que eso hice… pero wordpress tiene opinión propia!
Lo que no sé es qué plugin habrá por ahí para que te ponga colorcitos y todo al código… por css (supongo)
3. David | Marzo 3rd, 2008 at 5:42 pm
Hola, pues hay un plugin para Wordpress que hace eso, aunque es una castaña la edición de código fuente para Wordpress, a mí nunca me queda perfecto, sin duda una asignatura pendiente para este CMS.
Cuando pongo el código html entre etiquetas code me lo interpreta mal y dibuja el código en lugar de mostrarlo, no se si me explico.
Para solucionarlo he de usar la etiqueta .
Aquí puse un apunte sobre el plugin de wordpress que hace resaltado de codigo.
Un saludo.
4. David | Marzo 3rd, 2008 at 5:44 pm
Ups… la etiqueta pre
5. Mario | Abril 10th, 2008 at 7:26 am
Posts más semánticos (I): El código | aNieto2K
Bye,
Comenta el articulo: