Manuel Pear

HTML_QuickForm::addGroupRule()

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

Synopsis

  1. <?php
  2. require_once 'HTML/QuickForm.php
  3. ?> 

void HTML_QuickForm::addGroupRule (string $group, mixed $arg1 [, string $type = '' [, string $format = '' [, int $howmany = 0 [, string $validation = 'server' [, bool $reset = FALSE]]]]])

Description

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.

Paramètres

chaîne de caractères $group

Nom du groupe

mixed $arg1

Tableau d'éléments ou message d'erreur pour un élément. Si c'est un tableau, sa structure sera la suivante :

array (
    'nom de l'élément ou index' => array(
        array(règle),
        ...
        array(règle)
    ),
    ...
    'nom de l'élément ou index' => array(
        array(règle),
        ...
        array(règle)
    )
)
La règle ici correspond à l'ordre des paramètres ainsi que leurs signification pour la méthode addRule().

Note : 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).

chaîne de caractères $type

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

chaîne de caractères $format

(optionnel) Requis pour les règles

entier $howmany

(optionnel) Nombre d'éléments valides devant être dans le groupe

chaîne de caractères $validation

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

booléen $reset

Côté client : si l'on doit réinitialiser la valeur des éléments lors de l'échec d'une validation.

Valeurs renvoyées

Tableau 47-1. Valeurs PEAR_Error possibles

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

Note

Disponible depuis la version 2.5.

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

Exemple

Exemple 47-1. Exemple avec addGroupRule()

  1. <?php
  2. // un groupe de 4 cases à cocher
  3. $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'A', null, 'A');  
  4. $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'B', null, 'B');  
  5. $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'C', null, 'C');  
  6. $checkbox[] = &HTML_QuickForm::createElement('checkbox', 'D', null, 'D');  
  7. $form->addGroup($checkbox, 'ichkABCD', 'ABCD:', array(' ', '<br />'));  
  8. // Règle simple : au moins 2 cases à cocher doivent être cochées
  9. $form->addGroupRule('ichkABCD', 'Merci de cocher au moins 2 cases à cocher', null, 2);  
  10.  
  11. $idGrp[] = &HTML_QuickForm::createElement('text', 'lastname', 'Name', array('size' => 30));  
  12. $idGrp[] = &HTML_QuickForm::createElement('text', 'code', 'Code', array('size' => 5, 'maxlength' => 4));  
  13. $form->addGroup($idGrp, 'id', 'ID:', ', ');  
  14. // Règle complexe pour les éléments d'un groupe
  15. $form->addGroupRule('id', array( 
  16.    'lastname' => array( 
  17.       array('Le nom doit être composé exclusivement de lettres', 'lettersonly'), 
  18.       array('Le nom est requis', 'required', null, 'client') 
  19.    ), 
  20.    'code' => array( 
  21.    array('Le code doit être un numérique', 'numeric') 
  22.    )  
  23. ));  
  24.  
  25. ?> 

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique