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().

Parameter

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 :

<?php
$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.

string $message

Message à afficher pour des données invalides

string $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.

string $format

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

string $validation

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

boolean $reset

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

boolean $force

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

Throws

Possible PEAR_Error values
Code erreur Message d'erreur Raison Solution
QUICKFORM_NONEXIST_ELEMENT Element '$element ' does not exist in HTML_QuickForm::addRule() Tentative d'ajouter une règle pour un élément inexistant Vérifiez le nom de l'élément ou utilisez le paramètre $force pour supprimer l'erreur.
QUICKFORM_INVALID_RULE Rule '$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.

This function can not be called statically.