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.

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 42-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 QuickFormVé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.