Ah oui, ça peut-être une solution. En fait dans mes formulaires
id=name car j'utilise les form helpers de Symfony.
J'ai trouvé une solution pour fabriquer mes validateurs à la volée en
fonction du type de réponse attendue (c'est une information contenue
dans la base). Ca marche mais il y a sans doute mieux. Voici le bloc
rajouté dans ma fonction executeUpdate() :
// Validation
$bool = false;
foreach($chapter->getQuerysRelatedByChapterId() as $query) {
$value = $this->getRequestParameter('status'.$query-
>getId());
if (($query->getAnswerType() == 'text' || $query-
>getAnswerType() == 'textarea') && $value != "") {
$myValidator = new sfStringValidator();
$myValidator->initialize($this->getContext(),array(
'max'=>255,
'max_error' => 'This field supports 255 characters
maximum'
));
}
if (!$myValidator->execute($value,$error)) {
$this->getRequest()->setError('status'.$query->getId(),
$error);
$bool = true;
}
}
if ($bool) {
$this->getRequest()->setError('errorTitle', 'Warning: this form
contains some errors and cannot be submitted');
$this->forward('chapter', 'show');
}
On 21 déc, 11:22, Kaa <[EMAIL PROTECTED]> wrote:
> Bonjour,
>
> Je ne sais pas si c'est la bonne solution, je ne suis pas une pro, mais moi
> quand j'utilise des champs générés dynamiquement, je leur mets juste un id
> différent, mais le nom reste le même, comme ça je peux les passer au
> validateur.
>
> J'espère que ça t'aide,
>
> Karen
>
> ----- Message d'origine ----
> De : Xenopus <[EMAIL PROTECTED]>
> À : Symfony-fr <[email protected]>
> Cc : [EMAIL PROTECTED]
> Envoyé le : Vendredi, 21 Décembre 2007, 11h10mn 02s
> Objet : [symfony-fr] Valider un type de champ
>
> Bonjour à tous,
> Je débute sur Symfony et j'arrive pour l'instant à utiliser les
> validateurs via un fichier yml.
> Mon problème est que je ne connais pas a priori le nom des champs qui
> constituront mon formulaire (ils sont générés dynamiquement par une
> requête) mais souhaiterais appliquer la même règle à certains types
> de
> champs (comme les champs de type fichier par exemple) sans me soucier
> de leur nom. Est-ce possible ?
>
> Merci !
>
>
> _____________________________________________________________________________
> Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo!
> Mailhttp://mail.yahoo.fr
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---