HTML_QuickForm

Le paquet PEAR::HTML_QuickForm fournit des méthodes pour créer, valider et traiter des formulaires HTML.

Introduction

Table des matières
QuickStart -- A tutorial for HTML_QuickForm
QuickHelp -- Answers to most Frequently Asked Questions
QuickForm element types -- What elements can be added to QuickForm
Migration to version 3.2 -- API changes to observe

QuickForm est une bibliothèque pour gérer les formulaires HTML. Cela fournit une validation Javascript, ainsi qu'une autre côté serveur et est personnalisable et extensible de beaucoup de façons. QuickForm est composé de nombreux fichiers. Le fichier principale est QuickForm.php et devrait être installé dans votre dossier pear/HTML. Les autres fichiers importants sont element.php, qui manipule toutes les méthodes concernant les éléments du formulaire, et group.php, qui gère les méthodes permettant de créer des groupes d'éléments dans le formulaire. Les deux se situent dans le répertoire HTML/QuickForm ainsi que les autres objets du formulaire. input.php contient un classe commune pour tous les éléments de type input (text, password...). QuickForm a des objets pour les éléments communs aux formulaires: select, text, password, checkbox, file, submit, reset, button, image, radio, hidden, textarea. QuickForm fournit la possibilité de créer vos propres éléements tant que vous respectez la compatibilité avec l'API commune.

Créer un formulaire simple

Table des matières
constructor HTML_QuickForm::HTML_QuickForm() -- Constructeur de la classe
HTML_QuickForm::addElement() -- Ajoute un élément dans un formulaire
HTML_QuickForm::apiVersion() -- Retourne la version de l'API courante
HTML_QuickForm::createElement() -- Crée un nouvel élément de formulaire d'un type donné
HTML_QuickForm::elementExists() -- Vérifie si les éléments sont dans le formulaire
HTML_QuickForm::errorMessage() -- Retourne un message d'erreur correspondant à un code erreur
HTML_QuickForm::getElementType() -- Retourne le type d'un élément
HTML_QuickForm::getElement() -- Retourne une référence sur l'élément
HTML_QuickForm::getMaxFileSize() -- Retourne la valeur de l'élément caché MAX_FILE_SIZE
HTML_QuickForm::getRegisteredTypes() -- Retourne les types enregistrés des éléments
HTML_QuickForm::insertElementBefore() -- Insert un nouvel élément avant un autre élément
HTML_QuickForm::isError() -- Vérifie si un résultat est une erreur
HTML_QuickForm::isTypeRegistered() -- Vérifie si le type d'élément de formulaire est supporté
HTML_QuickForm::registerElementType() -- Enregistre un nouveau type d'élément
HTML_QuickForm::removeElement() -- Efface un élément
HTML_QuickForm::setMaxFileSize() -- Définit la valeur MAX_FILE_SIZE pour l'élément caché
HTML_QuickForm::updateElementAttr() -- Met à jour les attributs d'un ou plusieurs éléments

A écrire.

Classes représentants des éléments de formulaires

A écrire

Classes de base

Table des matières
Class Summary HTML_QuickForm_element -- Base class for form elements
constructor HTML_QuickForm_element() -- Constructeur de la classe
HTML_QuickForm_element::accept() -- Accepte un rendu
HTML_QuickForm_element::apiVersion() -- Retourne la version courante de l'API
HTML_QuickForm_element::exportValue() -- Retourne la valeur sécurisée d'un élément (lié au développeur du module)
HTML_QuickForm_element::freeze() -- Gèle un élément
HTML_QuickForm_element::getFrozenHtml() -- Retourne la valeur d'un champs sans les balises HTML
HTML_QuickForm_element::getLabel() -- Retourne le label pour l'élément
HTML_QuickForm_element::getName() -- Retourne le nom de l'élément
HTML_QuickForm_element::getType() -- Retourne le type de l'élément
HTML_QuickForm_element::getValue() -- Retourne la valeur de l'élément form
HTML_QuickForm_element::isFrozen() -- Retourne l'état de l'élément (gelé ou non)
HTML_QuickForm_element::onQuickFormEvent() -- Appelé par HTML_QuickForm lorsqu'un événement de formulaire est produit sur cet élément (lié au développeur du module)
HTML_QuickForm_element::setLabel() -- Définit un label pour un élément
HTML_QuickForm_element::setName() -- Définit le nom d'un champs
HTML_QuickForm_element::setPersistantFreeze() -- Définit si la valeur d'un élément doit persister en état gelée
HTML_QuickForm_element::setValue() -- Définit la valeur d'un élément de formulaire
HTML_QuickForm_element::unfreeze() -- Réactive un élément
Class Summary HTML_QuickForm_input -- Base class for input form elements
constructor HTML_QuickForm_input() -- Constructeur de la classe
HTML_QuickForm_input::setType() -- Définit le type de l'élément

Eléments HTML standards

Table des matières
Class Summary HTML_QuickForm_button -- HTML class for a button type element
constructor HTML_QuickForm_button() -- Constructeur de la classe
Class Summary HTML_QuickForm_checkbox -- HTML class for a checkbox type field
constructor HTML_QuickForm_checkbox() -- Constructeur de la classe
HTML_QuickForm_checkbox::getChecked() -- Retourne si un checkbox est coché ou non
HTML_QuickForm_checkbox::getText() -- Récupère le texte du checkbox
HTML_QuickForm_checkbox::setChecked() -- Définit si un checkbox est actif
HTML_QuickForm_checkbox::setText() -- Définit le texte du checkbox
Class Summary HTML_QuickForm_file -- HTML class for a file type element
constructor HTML_QuickForm_file() -- Constructeur de la classe
HTML_QuickForm_file::getSize() -- Retourne la taille de l'élément file
HTML_QuickForm_file::getValue() -- Retourne des informations sur le fichier téléchargé
HTML_QuickForm_file::isUploadedFile() -- Vérifie si l'élément contient un fichier téléchargé
HTML_QuickForm_file::moveUploadedFile() -- Déplace un fichier téléchargé vers une destination donnée
HTML_QuickForm_file::setSize() -- Définit la taille de l'élément file
Class Summary HTML_QuickForm_hidden -- HTML class for a hidden type element
constructor HTML_QuickForm_hidden() -- Constructeur de la classe
Class Summary HTML_QuickForm_image -- HTML class for a image type element
constructor HTML_QuickForm_image() -- Constructeur de la classe
HTML_QuickForm_image::setAlign() -- Définit l'alignement pour un élément image
HTML_QuickForm_image::setBorder() -- Définit la taille de la bordure d'un élément image
HTML_QuickForm_image::setSource() -- Définit la source pour un élément image
Class Summary HTML_QuickForm_password -- HTML class for a password type field
constructor HTML_QuickForm_password() -- Constructeur de la classe
HTML_QuickForm_password::setMaxlength() -- Définit la longueur maximale pour l'élément password
HTML_QuickForm_password::setSize() -- Définit la taille pour l'élément password
Class Summary HTML_QuickForm_radio -- HTML class for a radio type element
constructor HTML_QuickForm_radio() -- Constructeur de la classe
HTML_QuickForm_radio::getChecked() -- Retourne l'état du bouton radio
HTML_QuickForm_radio::getText() -- Retourne le texte du bouton radio
HTML_QuickForm_radio::setChecked() -- Définit si le bouton radio est actif
HTML_QuickForm_radio::setText() -- Définit le texte pour un radio
Class Summary HTML_QuickForm_reset -- HTML class for a reset type element
constructor HTML_QuickForm_reset() -- Constructeur de la classe
Class Summary HTML_QuickForm_select -- Class to dynamically create an HTML SELECT
constructor HTML_QuickForm_select() -- Constructeur de la classe
HTML_QuickForm_select::addOption() -- Ajoute une nouvelle OPTION au SELECT
HTML_QuickForm_select::getMultiple() -- Retourne l'attribut multiple de la sélection
HTML_QuickForm_select::getPrivateName() -- Retourne le nom de l'élément (avec éventuellement les crochets)
HTML_QuickForm_select::getSelected() -- Retourne un tableau de valeurs sélectionnées
HTML_QuickForm_select::getSize() -- Retourne la taille du champs SELECT
HTML_QuickForm_select::load() -- Charge les options depuis différents types de sources de données
HTML_QuickForm_select::loadArray() -- Charge les options depuis un tableau associatif
HTML_QuickForm_select::loadDbResult() -- Charge les options depuis un objet DB_result
HTML_QuickForm_select::loadQuery() -- Interroge une base de données et charge les options depuis le résultat
HTML_QuickForm_select::setMultiple() -- Définit l'attribut de sélection multiple
HTML_QuickForm_select::setSelected() -- Définit les valeurs par défaut d'une boîte 'select'
HTML_QuickForm_select::setSize() -- Définit la taille du champs 'select', uniquement utilisée pour les selections multiples
Class Summary HTML_QuickForm_submit -- HTML class for a submit type element
constructor HTML_QuickForm_submit() -- Constructeur de la classe
Class Summary HTML_QuickForm_text -- HTML class for a text field
constructor HTML_QuickForm_text -- Constructeur de la classe
HTML_QuickForm_text::setMaxlength() -- Définit la longueur maximale pour un champs texte
HTML_QuickForm_text::setSize() -- Définit la taille d'un champs texte
Class Summary HTML_QuickForm_textarea -- HTML class for a textarea type field
constructor HTML_QuickForm_textarea() -- Constructeur de la classe
HTML_QuickForm_textarea::setCols() -- Définit la largeur, en colonnes, pour un élément textarea
HTML_QuickForm_textarea::setRows() -- Définit la hauteur, en lignes, dans un élément textarea
HTML_QuickForm_textarea::setWrap() -- Défitnit le type 'wrap' pour l'élément textarea
Class Summary HTML_QuickForm_xbutton -- Class for HTML 4.0 <button> element
constructor HTML_QuickForm_xbutton() -- Constructeur de la classe
HTML_QuickForm_xbutton::setContent() -- Définit le contenu de l'élément

Eléments personalisables

Table des matières
Class Summary HTML_QuickForm_advcheckbox -- HTML class for an advanced checkbox type field
constructor HTML_QuickForm_advcheckbox() -- Constructeur de la classe
HTML_QuickForm_advcheckbox::getOnclickJs() -- Crée le javascript pour l'événement onclick
HTML_QuickForm_advcheckbox::getPrivateName() -- Récupère le nom privé d'un élément
HTML_QuickForm_advcheckbox::setValues() -- Définit les valeurs à utiliser par l'élément caché
Class Summary HTML_QuickForm_autocomplete -- HTML class for a text field with autocompletion feature
constructor HTML_QuickForm_autocomplete -- Constructeur de la classe
HTML_QuickForm_autocomplete::setoptions() -- Définit les options pour l'autocomplétion de l'élément texte Input
Class Summary HTML_QuickForm_date -- Class for a group of elements used to input dates (and times).
constructor HTML_QuickForm_date() -- Constructeur de la classe
Class Summary HTML_QuickForm_header -- A pseudo-element used for adding headers to form
constructor HTML_QuickForm_header() -- Constructeur de la classe
Class Summary HTML_QuickForm_hiddenselect -- Creates hidden elements with select's values
constructor HTML_QuickForm_hiddenselect() -- Constructeur de la classe
Class Summary HTML_QuickForm_hierselect -- Class to dynamically create chained HTML Select elements, each select changes the content of the next.
constructor HTML_QuickForm_hierselect() -- Constructeur de la classe
HTML_QuickForm_hierselect::setOptions() -- Définit les options pour les éléments SELECT
HTML_QuickForm_hierselect::setMainOptions() -- Obsolète : Définit les options pour le premier SELECT
HTML_QuickForm_hierselect::setSecOptions() -- Obsolète : Définit les options pour le second SELECT
Class Summary HTML_QuickForm_html -- A pseudo-element used for adding raw HTML to form (deprecated)
constructor HTML_QuickForm_html() -- Constructeur de la classe
Class Summary HTML_QuickForm_link -- HTML class for a link type field
constructor HTML_QuickForm_link() -- Constructeur de la classe
HTML_QuickForm_link::setHref() -- Définit le href d'un lien
Class Summary HTML_QuickForm_static -- HTML class for static data
constructor HTML_QuickForm_static() -- Constructeur de la classe
HTML_QuickForm_static::setText() -- Définit le texte

Utiliser les groupes

Table des matières
HTML_QuickForm::addGroup() -- Ajoute un élément à un groupe
Class Summary HTML_QuickForm_group -- HTML class for a form element group
constructor HTML_QuickForm_group() -- Constructeur de la classe
HTML_QuickForm_group::getElementName() -- Retourne le nom d'un élément d'un groupe
HTML_QuickForm_group::getElements() -- Récupère les éléments groupés
HTML_QuickForm_group::getGroupType() -- Récupère le type du groupe en se basant sur les éléments
HTML_QuickForm_group::setElements() -- Définit les éléments groupés

A écrire.

Travailler avec les valeurs des éléments

Cette section couvre les méthodes offertes par QuickForm pour gérer les valeurs des éléments des formulaires et travailler avec les valeurs soumises.

Getting, setting and processing element values

Table des matières
HTML_QuickForm::setConstants() -- Définit les valeurs des constantes d'un formulaire
HTML_QuickForm::setDefaults() -- Définit les valeurs par défaut d'un formulaire
HTML_QuickForm::exportValue() -- Retourne la valeur de l'élément sécurisée
HTML_QuickForm::exportValues() -- Retourne les valeurs des éléments sécurisées
HTML_QuickForm::getElementValue() -- Retourne la valeur d'un élément
HTML_QuickForm::getSubmitValue() -- Retourne les valeurs des éléments soumis
HTML_QuickForm::getSubmitValues() -- Retourne les valeurs soumises par le formulaire
HTML_QuickForm::process() -- Effectue les opérations sur les données du formulaire

Validation and filtres

Table des matières
Introduction - validation and filters -- How to process submitted data
HTML_QuickForm::addRule() -- Ajoute une règle de validation pour un champs donné
HTML_QuickForm::addGroupRule() -- Ajoute une règle de validation pour un groupe donné
HTML_QuickForm::addFormRule() -- Ajout d'un règle de validation globale
HTML_QuickForm::isElementRequired() -- Vérifie si l'élément de formulaire est requis
HTML_QuickForm::validate() -- Effectue une validation côté serveur
HTML_QuickForm::getElementError() -- Retourne l'erreur correspondante à l'élément validé
HTML_QuickForm::setElementError() -- Définit un message d'erreur pour un élément de formulaire
HTML_QuickForm::registerRule() -- Enregistre une nouvelle règle pour la validation
HTML_QuickForm::getRegisteredRules() -- Retourne les règles de validation enregistrées
HTML_QuickForm::isRuleRegistered() -- Vérifie si une règle est supportée
HTML_QuickForm::applyFilter() -- Applique un filtre à un ou des champs donnés

QuickForm fournit également des règles pour le support de la validation. Vous pouvez programmer vos propres règles de validation, les enregister dans QuickForm et ensuite les appeler dans votre script. Par défaut, QuickForm peut manipuler les expressions rationnelles (du type d'preg_match) et vérifier les éléments requis. Si vous souhaitez une validation du côté client, QuickForm peut générer le code Javascript requis. La validation côté serveur est toujours activée par défaut.

QuickForm peut égalment utiliser des filtres pour importer des données dans le formulaire ou pour traiter les données une fois que le formulaire a été envoyé. Les filtres fonctionnent de la même façon que les filtres à part que l'on a pas besoin de les enregistrer. Vous pouvez écrire vos propres fonctions filtres ou les appeler dans votre script. Vous pouvez appeler n'importe quelle fonction php (par ex. trim, addslashes, htmlentities, etc.) et les appliquer de façon récursive à la valeur de vos éléments.

Outputting the form

Votre formulaire peut être personnalisé de nombreuses façons. QuickForm peut utiliser différents types de moteurs de rendu et en fourni un par défaut qui support la personnalisation du formulaire, des éléments, des messages d'erreur, des en-têtes, des notes et signes des éléments requis. Vous pouvez également écrires vos propres moteurs de rendu.

Form customization and output helpers

Table des matières
HTML_QuickForm::freeze() -- Gèle les éléments du formulaire
HTML_QuickForm::isElementFrozen() -- Vérifie si l'élément est gelé
HTML_QuickForm::isFrozen() -- Vérifie si le formulaire est gelé
HTML_QuickForm::setRequiredNote() -- Définit une note requise
HTML_QuickForm::setJsWarnings() -- Définit les messages d'alertes Javascript
HTML_QuickForm::getRequiredNote() -- Retourne la note requise
HTML_QuickForm::getValidationScript() -- Retourne le script de validation côté client
HTML_QuickForm::accept() -- Accepte un rendu
HTML_QuickForm::defaultRenderer() -- Retourne une référence vers l'objet de rendu par défaut
HTML_QuickForm::toArray() -- Retourne le contenu d'un formulaire dans un tableau
HTML_QuickForm::toHtml() -- Retourne une version HTML du formulaire
HTML_QuickForm::display() -- Affiche une version HTML du formulaire

Moteurs de rendu simples

Table des matières
Introduction - renderers -- How to output the form
HTML_QuickForm_Renderer_Default -- Default renderer
HTML_QuickForm_Renderer_Default::clearAllTemplates() -- Efface tous les templates
HTML_QuickForm_Renderer_Default::setElementTemplate() -- Définit le template d'un élément
HTML_QuickForm_Renderer_Default::setFormTemplate() -- Définit le template d'un formulaire
HTML_QuickForm_Renderer_Default::setGroupElementTemplate() -- Définit un template pour les éléments d'un groupe
HTML_QuickForm_Renderer_Default::setGroupTemplate() -- Définit le template pour un groupe
HTML_QuickForm_Renderer_Default::setHeaderTemplate() -- Définit le template pour l'en-tête
HTML_QuickForm_Renderer_Default::setRequiredNoteTemplate() -- Définit le template pour une note requise
HTML_QuickForm_Renderer_Default::toHtml() -- Retourne le HTML
HTML_QuickForm_Renderer_Array -- Array representation of the form
constructor HTML_QuickForm_Renderer_Array::HTML_QuickForm_Renderer_Array() -- Constructeur
HTML_QuickForm_Renderer_Array::setElementStyle() -- Définit un style à utiliser pour le rendu d'un élément
HTML_QuickForm_Renderer_Array::toArray() -- Retourne le formulaire dans un tableau

Ces moteurs sont fondé sur le code de HTML_QuickForm pre-3.0 et ne nécessite aucune classe externe pour fonctionner.

Moteurs de rendu fondé sur les templates

Table des matières
HTML_QuickForm_Renderer_ArraySmarty -- A renderer for 'static' Smarty templates
constructor HTML_QuickForm_Renderer_ArraySmarty::HTML_QuickForm_Renderer_ArraySmarty() -- Constructeur
HTML_QuickForm_Renderer_ArraySmarty::setErrorTemplate() -- Définit le façon dont les éléments qui ont une erreur de validation sont rendus
HTML_QuickForm_Renderer_ArraySmarty::setRequiredTemplate() -- Définit la façon dont les éléments requis sont rendus
HTML_QuickForm_Renderer_ITDynamic -- Dynamic renderer for Integrated Templates
constructor HTML_QuickForm_Renderer_ITDynamic::HTML_QuickForm_Renderer_ITDynamic() -- Constructeur
HTML_QuickForm_Renderer_ITDynamic::setElementBlock() -- Définit le bloc à utiliser pour le rendu de l'élément
HTML_QuickForm_Renderer_ITDynamic::setHeaderBlock() -- Définit le nom d'un bloc à utiliser pour le rendu de l'en-tête
HTML_QuickForm_Renderer_ITStatic -- Static renderer for Integrated Templates
constructor HTML_QuickForm_Renderer_ITStatic::HTML_QuickForm_Renderer_ITStatic() -- Constructeur
HTML_QuickForm_Renderer_ITStatic::setErrorTemplate() -- Définit la façon dont les éléments avec une erreur de validation sont rendus
HTML_QuickForm_Renderer_ITStatic::setRequiredTemplate() -- Définit la façon dont les éléments requis sont rendus
HTML_QuickForm_Renderer_QuickHtml -- Render form elements into HTML in an easy and flexible manner
Constructeur HTML_QuickForm_Renderer_QuickHtml::HTML_QuickForm_Renderer_QuickHtml() -- Constructeur
HTML_QuickForm_Renderer_QuickHtml::toHtml() -- Retourne le HTML
HTML_QuickForm_Renderer_QuickHtml::elementToHtml() -- Rend un élément spécifique du formulaire en HTML

Ces moteurs de rendu utilisent des gestionnaires de templates pour générer réellement leur formulaire HTML.

Intrastructure du moteur de rendu

Table des matières
HTML_QuickForm_Renderer -- Abstract base class for renderers (lié au développeur du module)
HTML_QuickForm_Renderer::startForm() -- Comme la visite d'un formulaire (lié au développeur du module)
HTML_QuickForm_Renderer::finishForm() -- Termine la visite d'un formulaire (lié au développeur du module)
HTML_QuickForm_Renderer::startGroup() -- Commence la visite d'un groupe (lié au développeur du module)
HTML_QuickForm_Renderer::finishGroup() -- Termine la visite d'un groupe (lié au développeur du module)
HTML_QuickForm_Renderer::renderElement() -- Visite un élément (lié au développeur du module)
HTML_QuickForm_Renderer::renderHeader() -- Visite un en-tête (lié au développeur du module)
HTML_QuickForm_Renderer::renderHidden() -- Visite un élément caché (lié au développeur du module)
HTML_QuickForm_Renderer::renderHtml() -- Visite un élément HTML/text (lié au développeur du module)

Si vous voulez modifier un moteur de rendu existant ou en écrire un nouveau, cette section vous concerne.