|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : décembre 2002 Messages : 325 ![]() |
Bonjour,
je viens du monde Java avec notamment Struts et je me demandais si avec le framework de Zend on a un équivalent des FormBean. Les FormBean sont des classes qui "mappent" les formulaires html et qui permettent de récupérer les valeurs entrées dans les différents champs, de les valider selon les critères qu'on veut, et de récupérer les messages d'erreur de validation (pour un affichage ou un traitement). Existe-t-il un mécanisme similaire avec ce framework ? Ce qui m'interesse le plus est de pouvoir récupérer, dans un objet, les valeurs saisies dans un formulaire. Merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
Hello,
Le module Zend_Form est en proposition depuis le mois d'août. Il s'agit d'une classe facilitant la création, le traitement et la validation de formulaires (X)HTML. Pour l'instant, ça en est toujours aux discussions donc ce ne sera sûrement pas pour la 1.1.0, courant novembre.
__________________
Mes articles DVP : http://jp-grossglauser.developpez.com |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : décembre 2002 Messages : 325 ![]() |
Merci pour l'info.
Je vais voir ce que je peux faire avec mes dix doigts. |
|
|
00
|
|
|
#4 | ||||||||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 428 ![]() |
non mais c'est facile à faire
dans le formulaire mettre les champs sous la forme Code :
<input type="text" name="form[usr_ident]" size="8" maxlength="8" /> puis pour éviter les intrusion de code il est conseillé de filtrer les valeur par exemple supprimer les espaces avant et après les valeur et supprimer le code html Code :
Code :
Code :
Code :
PS : c'est issue d'un dev rodé depuis longtemps et en production dans beaucoup d'applications depuis plusieurs années. je l'ai porté sous ZF mais comme marqué dans le classe à adapter pour utiliser les Zend_Validate qui travail sur un champs et non sur le form en entier mais qui offre beaucoup d'autre vérifications que les expressions régulières |
||||||||
|
|
00
|
|
|
#5 |
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
@sekaijin : Ton approche est intéressante, j'ai pas regardé en détail, mais c'est intéressant. Cependant, pourquoi ne pas factoriser tout ça avec Zend_Filter_Input ?
__________________
Mes articles DVP : http://jp-grossglauser.developpez.com |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Inscription : décembre 2002 Messages : 325 ![]() |
J'ai mis en place un truc qui ressemble, et je vais regarder en détail ce que tu as posté, merci beaucoup.
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 428 ![]() |
comme je l'ai dit cela est issue d'un dev plus ancien alors que ZF n'était même pas dans la tête de ses concepteurs je l'ai passé sous ZF mais effectivement il faut à terme mieux l'intégrer à ZF
A+JYT |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : décembre 2002 Messages : 325 ![]() |
J'ai une petite question à propos des formulaires présents dans les vues:
comment faire pour gérer le pré-remplissage d'un formulaire. Est-ce qu'il y a un autre choix que de mettre des morceaux de script dans la vue. C'est par exemple dans l'action faire : Code :
$this->view->pseudo = 'monPseudoAMoi'; Code :
<input type="text" value="<?php echo $this->pseudo?>"/> Et l'idéal étant de pouvoir instancier un objet (FormBean) représentant le formulaire dans la première, d'éventuellement fournir des valeurs à cet objet (les attributs qui correspondent aux champs du formulaire), de rendre la vue en utilisant les valeurs passées à l'objet précédemment, et ensuite lors du submit, récupérer les valeurs dans le FormBean pour faire les traitements qu'on veut. Cette dernière partie étant en partie résolue Vous qui avez l'habitude du développement en PHP, est-ce que c'est la bonne approche pour traiter ce genre de cas, ou bien ma vue des choses est-elle déformée par mon utilisation prolongée de Struts (J2EE) ? Merci d'avance à toutes les bonnes âmes qui voudront bien me faire bénéficier de leur expérience. PS: je sais: la classe Zend_Form arrive |
|
|
00
|
|
|
#9 | |||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 428 ![]() |
Citation:
et ensuite écrire dans la vue Code :
<input name="form[pseudo]" type="text" value="<?php echo $this->form->pseudo?>"/> concernant la vue tu peux te faire une classe qui dérive de Zend_View que tu vas utiliser comme view. ainsi tu peux lui adjoindre des méthodes plus élaborées. dans le contrôleur tu donne les données de ton form et sa description genre un objet qui décrit pour chaque champs le type les méthodes de vérif etc. et dans ta vue tu fait une methode displayField qui génère le input en fonction de la description par exemple Code :
Code :
<?php $this->displayField('pseudo'); ?> |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com