HTML_QuickForm::addRule()

HTML_QuickForm::addRule() -- Ajoute une règle de validation pour un champs donné

Synopsis

require_once 'HTML/QuickForm.php';

void HTML_QuickForm::addRule (mixed $element, string $message, string $type [, string $format = '' [, string $validation = 'server' [, boolean $reset = FALSE [, boolean $force = FALSE]]]])

Description

Si l'élément est en fait un groupe, il sera considéré comme un bloc et un tableau de valeurs des éléments du groupe sera passé à la fonction de validation. Pour valider des éléments groupés comme entités séparées, utilisez la méthode addGroupRule().

Paramètres

mixed $element

Nom(s) d'éléments de formulaire. Actuellement, la seule règle interne qui attend et gère correctement un tableau est compare :
$form->addElement('password', 'cmpPasswd', 'Mot de passe :');
$form->addElement('password', 'cmpRepeat', 'Confirmation du mot de passe :');
$form->addRule(array('cmpPasswd', 'cmpRepeat'), 'Les mots de passe ne correspondent pas.', 'compare', null, 'client');
Toutes les autres règles internes ne gèrent qu'un seul nom d'élément. Les règles callback peuvent aussi gerer ici un array, mais la fonction callback que vous fournissez doit alors absolument bien gérer ces tableaux de valeurs.

chaîne de caractères $message

Message à afficher pour des données invalides

chaîne de caractères $type

Type de règle, utilisez la méthode getRegisteredRules() pour récupérer les types. Vous pouvez également passer un nom de classe pour un descendant de HTML_QuickForm_Rule ou une instance d'une telle classe.

chaîne de caractères $format

(optionnel) Requis pour des données additionnelles à la règle

chaîne de caractères $validation

(optionnel) Où l'on doit effectuer la validation : "server" (côté serveur), "client" (coté client)

booléen $reset

Pour une validatin côté client : si l'on doit réinitialiser les éléments du formulaire s'il y a des erreurs

booléen $force

Forcer la règle à être appliquée, même si l'élément de formulaire cible n'existe pas

Valeurs renvoyées

Tableau 47-1. Valeurs PEAR_Error possibles

Code erreurMessage d'erreurRaisonSolution
QUICKFORM_NONEXIST_ELEMENTElement '$element' does not exist in HTML_QuickForm::addRule()Tentative d'ajouter une règle pour un élément inexistantVérifiez le nom de l'élément ou utilisez le paramètre $force pour supprimer l'erreur.
QUICKFORM_INVALID_RULERule '$type' is not registered in HTML_QuickForm::addRule()La règle n'est pas connue de QuickForm Vérifiez le type de la règle ou utilisez HTML_QuickForm::registerRule().

Note

Disponible depuis la version 1.0.

Cette fonction ne peut pas être appelée de façon statique.