Bonjour tout le monde,

Je n'arrive pas à utiliser la validation d'un checkbox. Rien ne se passe et le formulaire se soumet tout de meme.

j'ai trouvé ceci sur un autre forum mais ca ne marche pas.

'law' => array(
                'rule' => array('comparison', '!=', 0),
                'required' => true,
                'message' => 'You must agree to the terms of use',
                'on' => 'create'
       )

3 réponses


Si je ne dis pas de bétises, le checkbox s'il n'est pas coché n’envoie rien!
et si c'est le cas tu peux alors juste a te baser sur la règle "notempty"

public $validate = array(
        'law' => array(
                    'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'You must agree to the terms of use',
                'allowEmpty' => false,
                'required' => true,
                'on' => 'create'
            ),

sinon en attend de trouver une solution meilleur au niveau de ton model dans la fonction beforeSave tu peut faire un test final

if($this->data'TONMODEL']'law']==1){
         return true;
      }else{
         return false;
      }
Kamduras
Auteur

Salut,

La validation ne marche pas mais le if marche très bien.

Merci à toi.

même quand tu décoches??? pour ce qui est de la validation c'est un long processus comme l'as dit Pierre Baron sur ce post [url=http://www.grafikart.fr/forum/topic/7966]http://www.grafikart.fr/forum/topic/7966[/url] Donc vérifie que tout d'abord l'option validation dans tes fonctions save ne sont pas à false (le deuxième argument) save ([url=http://api.cakephp.org/class/model#method-Modelsave]Source[/url]) Saves model data (based on white-list, if supplied) to the database. By default, validation occurs before save. Parameters: array $data optional NULL Data to save. boolean|array $validate optional true Either a boolean, or an array. If a boolean, indicates whether or not to validate before saving. If an array, allows control of validate, callbacks, and fieldList array $fieldList optional array ( ) List of fields to allow to be written ** ou encore au niveau de ton model dans la fonction beforeSave() ([url=http://book.cakephp.org/2.0/fr/models/callback-methods.html#beforesave]doc[/url]) Sinon essai dans ta vue de voir le résultat de : pr($this->validationErrors); Et le top serait de donner ici le contenu de ton model du controller et formulaire en question et des fonctions beforeValidate ou beforeSave que tu as dans ton appCOntroller