Jan.01

Apprendre Zend Framework 2 sous windows partie 7

Apprendre Zend Framework 2 sous windows partie 7

f) L’action Ajouter de ContactConroller

f-1) Le formulaire avec le composant Zend\Form

Dans cette partie de ce tutoriel, On va étudier le composant Form de zend framework 2, et comment ce framework valide et gère les formulaires.

Dans l’image suivante, je vais vous montrer, comment le composant Form construit ses élements ( inputs, textarea, select …).

form-html

Donc, Un formulaire en général pourrait avoir un ou plusieurs fieldsets, un fieldset pourrait avoir un  ou plusieurs éléments.

Un formulaire pourrait avoir un  ou plusieurs éléments, sans passer par un fieldset.

Dans le composant Form de ZF2, La classe Form étend la classe Fieldset, cette dernière étend aussi la classe Element.

form-fieldset-element

Tout d’abord, il faut créer La class ‘ContactForm‘ qui va étendre la classe Form de composant Zend\Form.

module-contact-form

Pour voir comment  ZF2 construire un formulaire, copier  les lignes suivantes dans la nouvelle classe ‘ContactForm‘ :

Une petite explication :

  • La ligne 8 : pour donner le nom ‘contact’  à notre formulaire.
  • La ligne 9 :  choisir la methode (Get, POST …).
  • De la ligne 13 au 25 : la 1ere méthode pour ajouter un nouveau élément à notre formulaire.
  • De la ligne 27 au 31 : la 2eme méthode pour ajouter un nouveau élément à notre formulaire.
  • les attributs ‘class’ de css, que j’utilise dans ce tuto, ce sont les attributs class par défaut, que le framework css/js bootstrap 3.0 l’utilise pour l’affichage du formulaire, puisque le tuto se base sur le code html par defaut de module ‘Application’.

Personnellement, je choisi la 2eme méthode, car il y’a moins de code.

On modifie l’action ‘ajouterAction’ de controller ‘ContactController’ :

Pour continuer le test de composant Zend Form, on doit modifier le code HTML de la template ‘ajouter.phtml’. Mettez le code  HTML suivant  dans la template :

On récupère l’objet $form , qui est l’instance de la classe ‘ContactForm’ , et on affiche ses éléments.

Le résultat :

form-test

 

Le test est terminé, On va retourner à notre module ‘Contact’.

On doit remodifier la classe ContactForm :

le code suivant est le nouveau code HTML de la template ‘ajouter.phtml’ :

Si vous essayez d’ouvrir le lien suivant : ‘http://www.zf2test.dev/ajouter’ , vous aurez l’écran suivant :

fom-contact

f-2) Filtrage et Validation des données passées par le formulaire dans Zend Framework

Pour valider le formulaire d’ajout d’un nouveau contact, on doit faire quelques modifications sur notre entité model ‘Contact’ :

Comme vous voyez, Les données saisies par le formulaire, seront validées après l’entité ( Model ) , L’entité ‘Contact’  implémente l’interface InputFilterAwareInterface. La fonction getInputFilter sert à déclarer les filtres ( Voir le composant Zend\Filter ) et les validations ( Voir le composant Zend\Validator ) des éléments de notre formulaire.

Et pour terminer cette partie de cours, on doit modifier l’action ajouterAction du controller ‘ContactController’ :

Les messages d’erreur s’affichent en anglais, la traduction sera la dernière partie de notre tutoriel.

contact-form-errors

 

Je crois que cette partie de cours est terminée.

Si vous avez des questions n’hésitez pas à me laisser des commentaires avec les problèmes que vous avez rencontrez dans cette partie de ce tutoriel, et de ma part je vais faire mon effort pour vous aider.

Bonne soirée 😀

 

 

 

 

 

 

 

 

Zend Framework 2
Share this Story:
  • facebook
  • twitter
  • gplus
khalid

About khalid

Leave a comment

Comment