void HTML_QuickForm::addRule (
mixed $element
, string $message
, string $type
, string $format = ''
, string $validation = 'server'
, boolean $reset
= = false
, boolean $force
= = false
)
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().
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.
Message à afficher pour des données invalides
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.
(optionnel) Requis pour des données additionnelles à la règle
(optionnel) Où l'on doit effectuer la validation : "server" (côté serveur), "client" (coté client)
Pour une validatin côté client : si l'on doit réinitialiser les éléments du formulaire s'il y a des erreurs
Forcer la règle à être appliquée, même si l'élément de formulaire cible n'existe pas
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(). |
Disponible depuis la version 1.0.
This function can not be called statically.