J'utilise Symfony 1.4 pour créer un projet, et j'ai besoin de créer des formulaires dynamiques en fonction du type d'ensemble de questions provenant de la base de données. J'ai utilisé des formes Symfony dans le reste de mon projet, mais dans ce cas, l'utilisation de formes symfony semble être difficile, car j'ai besoin d'une forme dynamique. peut-il être sûr d'utiliser des formulaires HTML normaux .. dans le projet symfony, ou il est conseillé d'utiliser des formulaires Symfony. donc besoin de votre aide.Formulaires Symfony ou formulaires HTML normaux
Répondre
Vous pouvez utiliser des formulaires html, mais cela contournerait le système de validation de formulaire de symfony.
Vous pouvez toujours créer des formulaires dynamiques en créant et en ajoutant des widgets d'entrée au formulaire en cours ou un nouveau formulaire dans une action. Vous pouvez ensuite répercuter le formulaire dans le modèle et les champs générés dynamiquement feront également partie du formulaire.
Si vous commencez avec un MyForm.class.php dans le répertoire lib/formulaires, assurez-vous d'ajouter:
$this->validatorSchema->setOption('allow_extra_fields', true);
Sinon, vous obtiendrez automatiquement les erreurs de validation. Si vous voulez ajouter des champs à un formulaire dans une action que vous voulez faire quelque chose comme ceci:
$this->form = new MyForm();
$widgetSchema = $this->form->getWidgetSchema();
$widgetSchema['add_field'] = new sfWidgetFormInputText();
Lorsque vous l'écho de votre forme l'entrée « add_field » sera ajouté.
Je vais essayer, parce que je veux ajouter des éléments HTML à l'exécution et sans perdre le système de validation de formulaire Symfony .. –
Il serait utile d'avoir plus d'informations sur ce que vous faites, mais voici une façon dont les formes peuvent être dynamiques dans Symfony. Ce code crée des widgets et validateurs pour une enquête dynamiquement en fonction du « type » d'une question:
class SurveyAnswerForm extends BaseSurveyAnswerForm
{
public function configure()
{
$question = $this->object->Question;
$method = sprintf('createWidgetAndValidatorFor%sInputType', $question->type);
$this->$method($question);
$this->getWidget('value')->setOption('label', $question->question);
$this->getValidator('value')->setOption('required', $question->required);
}
protected function createWidgetAndValidatorForTextFieldInputType(Question $question)
{
$this->setWidget('value', new sfWidgetFormInputText());
$this->setValidator('value', new sfValidatorString());
}
protected function createWidgetAndValidatorForTextAreaInputType(Question $question)
{
$this->setWidget('value', new wfWidgetFormTextareaAutosize());
$this->setValidator('value', new sfValidatorString());
}
//etc. for as many types as you require
}
Note: alors que cette réponse est le code d'un de mes projets, il a été fortement influencée par this answer sur le SymfonyExperts.
- 1. Formulaires dynamiques Symfony
- 2. JQuery BlockUI sur les formulaires "normaux"
- 3. symfony: formulaires et clés primaires
- 4. Personnalisation des formulaires autogérés de symfony
- 5. Formulaires tabulaires (X) HTML
- 6. formulaires html dynamiques
- 7. Soumission de formulaires HTML
- 8. Un exemple d'intégration de formulaires dans Symfony
- 9. Dépendances fonctionnelles dans les bases de données SQL Formulaires normaux
- 10. Implémentation de Fieldset dans les formulaires Symfony
- 11. Formulaires Symfony - mémorisation d'un fichier précédemment sélectionné
- 12. Valeur prédéfinie des formulaires HTML
- 13. FCKEditor rompre les formulaires HTML
- 14. Entrée "A, B ou none" pour les formulaires HTML
- 15. Comment faire des formulaires html avec sinatra?
- 16. formulaires multiples
- 17. Formulaires HTML en mode hors connexion
- 18. Symfony: joindre deux formulaires dans la même page
- 19. Pour afficher un message personnalisé dans les formulaires Symfony?
- 20. Outils pour concevoir de beaux formulaires HTML
- 21. 2 formulaires HTML d'un côté à l'autre
- 22. Extension de formulaires HTML en utilisant Javascript
- 23. Formulaires multicolonnes CSS en HTML/ASP.NET
- 24. Affichage conditionnel de formulaires d'éléments html
- 25. Rails Éditeur HTML pour créer des formulaires
- 26. Formulaires - Liste déroulante
- 27. Formulaires existants: Dans Django
- 28. Gestion de formulaires Wordpress
- 29. Génération de formulaire à la volée/Formulaires/formulaires dynamiques générés à partir de modèles
- 30. Formulaires Web ASP.NET sans javascript
Pouvez-vous donner plus d'informations sur ce que vous essayez de faire? Des formes «dynamiques» - comment sont-elles dynamiques? Quoi que vous essayiez de faire, Symfony peut presque certainement le faire. –
@jeremy, désolé je coudnt expliquer beaucoup .. la forme dynamique que je voulais dire était..le formulaire sera créé au moment de l'exécution en fonction de la base de données .. comme il aura n nombre de choix ... et le type d'éléments (à savoir les éléments HTML) va changer en fonction du type de question (si un seul choix puis sélectionnez élément, si multiple puis case à cocher ..) j'espère qu'il était clair .. –
auparavant j'utilisais PHP classique, de faire la même chose .. à ce moment J'ai créé ces formulaires de jeu de questions par code PHP ... et javascript utilisé aussi .. –