En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de Cookies pour réaliser des statistiques de visites.

09 54 46 51 10

du lundi au vendredi de 08h à 19h

Classe: Form


Classes permettant de générer des formulaires.

Voici un exemple de formulaire permettant la souscription à la newsletter :

{% set form = view.createForm() %}
{{ form.renderFormOpenTag({ action: 'subscribe' }) }}

{{ form.renderInput({ name: 'mail' }) }}

{{ form.renderSubmitButton({ title: "Valider"|trans }) }}

{{ form.renderFormCloseTag() }}

Pour que la validation du formulaire soit faite via des requêtes AJAX, vous devez ajouter le code JavaScript suivant :

$('form').formSubmitter();

Variables

action (défaut: 'sendMail')

Le type d'action du formulaire.

Options possible :

  • Une URL spécifique
  • sendMail
  • subscribe

method (défaut: 'post')

La méthode d'envoi des données du formulaire.

Options possible :

  • get
  • post

addFormToken (default: true)

Si un jeton ayant pour but de prévenir les failles de type CSRF doit être ajouté.

layout (default: 'horizontal')

Définis la disposition des éléments dans le formulaire.

Options possible :

  • vertical
  • horizontal
  • inline

className (default: null)

La classe CSS du formulaire.

addFieldset (default: false)

Si la balise fieldset doit être ajoutée.

redirectUrl (défaut: null)

Une URL vers laquelle rediriger le formulaire si les données sont validées.

mailSubject (défaut: 'Contact form')

Le sujet du mail.

Uniquement pour les formulaires de type 'sendMail'.

emailFieldName (défaut: null)

Permet de définir quel est le name du champ contenant l'adresse mail.

Uniquement pour les formulaires de type 'sendMail'.

sendCopy (défaut: false)

Si une copie du mail doit être envoyée. emailFieldName doit pour cela être défini.

Uniquement pour les formulaires de type 'sendMail'.


Méthodes

renderFormOpenTag

Ouvre le formulaire.

Arguments

  • options : Un objet contenant les variables de la classe.

Valeur de retour

Une balise form ouvrante.

Exemple

{% set form = view.createForm() %}
{{ form.renderFormOpenTag() }}

renderFormGroup

Permets de générer un champ avec un label. Le champ sera généré avec la fonction renderInput. Toutes les options de renderInput peuvent donc être utilisées.

Arguments

  • options: La liste des options est disponible dans la définition de la classe Field.

Valeur de retour

Le code HTML permettant d'afficher le champ.

Exemple

{{ form.renderFormGroup({ name: 'message', title: 'Message'|trans, format: 'textarea', isRequired: true, validator: 'textaera', textareaRow: 5 }) }}

renderInput

Permets de générer un champ.

Arguments

  • options: La liste des options est disponible dans la définition de la classe Field.

Valeur de retour

Le code HTML permettant d'afficher le champ.

Exemple

{{ form.renderInput({ name: 'mail', format: 'text', labelSize: 3, inputSize: 8 }) }}

renderSubmitButton

Arguments

  • options : Un objet
    • title (défaut: 'OK')
    • className (défaut: 'btn btn-primary')
    • align (défaut: 'left'): left | right | center

Valeur de retour

Le code HTML du bouton.

Exemple

{{ form.renderSubmitButton({ title: 'Envoyer'|trans, className: 'btn btn-primary' }) }}

renderFormCloseTag

Ferme le formulaire.

Valeur de retour

Une balise form fermante.

Exemple

{{ form.renderFormCloseTag() }}