Bonjour à tous !
Voilà j'essaye de créer une régle de validation qui consiste à empêcher une certaine chaîne de caractère à l'intérieur d'un textarea. En gros j'aimerai faire quelque chose de ce genre :
var $validate = array(
'message' => array(
'rule' => '!= Saisissez votre commentaire',
'required' => true,
'allowEmpty' => false,
'message' => 'Vous devez absolument saisir votre commentaire.'
)
);
Mais bien entendu, cela ne fonctionne pas !
Merci de votre aide ;)
ha mais j'avais pas remarqué ! c'est le deuxieme plus savant du site qui pose la question !! :p (je charie hien !)
alors, dans la donc, j'ai trouvé trois trucs qui peuvent t'aider : equalTo : 'rule' => array('equalTo', 'test'), si la valeur est différente de test alors il y a erreur et on affiche le message en dessous du champ.
Ensuite, il y a inList : 'rule' => array('inList', array('test1', 'test2')), si la valeur n'est pas dans la liste alors il y a une erreur et meme speach qu'au dessus
Enfin, celle qui je crois vas te concerner : comparison : 'rule' => array('comparison', '==', 'test') il y a une erreur si la valeur n'est pas egale à test alors il y a une erreur, tu peux aussie mettre 'equal to', 'not equal to' à la place de '==' et tous les autres : '>=', '<='...
en esperant que c'est bien ca que tu voualis ;)
fais
var $validate => array (
'message' => array('rule' => array('nomFonc', $param), [le reste de ta regle]
// là tu fais la fonction qui est appelée :
function nomFonc($check, $param)
{
return $param != 'valeur';
}
voila :)
le parametre $check est obligatoire, et tu modifie $param pour avoir ta variable
il y a une autre maniere plus simple dans les regles predefinies de cake je crois regarde sur la doc, si ca n'y est pas, cette astuce devrais marcher ;)
Merci Flohw mais je connais déjà ce moyen de faire, justement j'aimerai savoir si il y a moyen de le faire directement grâce à cakephp comme quand on dit 'notEmpty'
Et oui comme quoi on ne sait jamais tout ! ;) Merci c'est la bonne réponse ! +1 pour toi.