void HTML_QuickForm::addGroupRule (
string $group
, mixed $arg1
, string $type = ''
, string $format = ''
, int $howmany = 0
, string $validation = 'server'
, bool $reset
= = false
)
Ajoute une règle de valifation pour un groupe d'éléments donné.
Seuls les groupes possédant un nom peuvent avoir une règle d'assignée. Utilisez addGroupRule() lorsque vous avez besoin de valider les éléments d'un groupe. Utilisez également addRule() si vous devez valider le groupe complet.
Nom du groupe
Tableau d'éléments ou message d'erreur pour un élément. Si c'est un tableau, sa structure sera la suivante :
La règle ici correspond à l'ordre des paramètres ainsi que leurs signification pour la méthode addRule().
Si ce paramètre est un tableau, tous les paramètres de sous séquence sont ignorés. Vous devriez passer tous les modificateurs pour les règles à ajouter dans ce tableau ( voir l'exemple ci-dessous).
(optionnel) Type de règle. Utilisez getRegisteredRules() pour récupérer les types. Vous pouvez également passer le nom d'une classe pour un descendant de HTML_QuickForm_Rule ou une instance d'une telle classe.
(optionnel) Requis pour les règles
(optionnel) Nombre d'éléments valides devant être dans le groupe
(optionnel) Où l'on doit effectuer la validation : "server" (côté serveur), "client" (côté client)
Côté client : si l'on doit réinitialiser la valeur des éléments lors de l'échec d'une validation.
Code erreur | Message d'erreur | Raison | Solution |
---|---|---|---|
QUICKFORM_NONEXIST_ELEMENT | Group '$group ' does not exist in HTML_QuickForm::addGroupRule() | Tentative d'ajout d'une règle pour un groupe inexistant | Vérifiez le nom du groupe |
QUICKFORM_NONEXIST_ELEMENT | Element '$elementIndex ' not found in group '$group ' in HTML_QuickForm::addGroupRule() | $arg1 est un tableau et contient un index pour un élément qui n'appartient pas au groupe | Vérifiez l'index de l'élément |
QUICKFORM_INVALID_RULE | Rule '$type ' is not registered in HTML_QuickForm::addGroupRule() | La règle est inconnue de QuickForm | Vérifiez le type de la règle ou utilisez la méthode HTML_QuickForm::registerRule(). |
Disponible depuis la version 2.5.
This function can not be called statically.
Exemple avec addGroupRule()
<?php
// un groupe de 4 cases à cocher
$checkbox[] = &HTML_QuickForm::createElement('checkbox', 'A', null, 'A');
$checkbox[] = &HTML_QuickForm::createElement('checkbox', 'B', null, 'B');
$checkbox[] = &HTML_QuickForm::createElement('checkbox', 'C', null, 'C');
$checkbox[] = &HTML_QuickForm::createElement('checkbox', 'D', null, 'D');
$form->addGroup($checkbox, 'ichkABCD', 'ABCD:', array(' ', '<br />'));
// Règle simple : au moins 2 cases à cocher doivent être cochées
$form->addGroupRule('ichkABCD', 'Merci de cocher au moins 2 cases à cocher', null, 2);
$idGrp[] = &HTML_QuickForm::createElement('text', 'lastname', 'Name', array('size' => 30));
$idGrp[] = &HTML_QuickForm::createElement('text', 'code', 'Code', array('size' => 5, 'maxlength' => 4));
$form->addGroup($idGrp, 'id', 'ID:', ', ');
// Règle complexe pour les éléments d'un groupe
$form->addGroupRule('id', array(
'lastname' => array(
array('Le nom doit être composé exclusivement de lettres', 'lettersonly'),
array('Le nom est requis', 'required', null, 'client')
),
'code' => array(
array('Le code doit être un numérique', 'numeric')
)
));
?>