Bonjour à vous et merci pour votre aide.

Ma question est la suivante, comment valider une expression réguliére (regex) sur un select multiple.
En consultant le cakeBook et d'autre sources, je suis arrivé à ce code mais sans résultat

     'hashtag' => array(
            'multiple' => array(
                'rule' => array('multiple', array('custom' => "/^[\\p{L}]+$/iu")),
                'message' => 'Tag non valable',
                'required' => true,
            ))

Aussi j'aimerais avoir votre avis d'ordre conceptionnele.
Le model product et post sont liés au model tag (HABTM).
La régle de validation pour les tags doit se trouver?
Dans le model tag, dans les models product et post ou juste dans appModel.

Merci encore.

5 réponses


Bonjour.
La règle pour valider les tags doit se situer dans ton modèle tag.

Merci Lartak,
Et pour la validation, vu que je resoit les tags sous forme de array.
Je passe la création d'une régle de validation ou il existe une fonction cakePHP dédié à cela ?

Dis moi, as-tu regardé dans les Tutoriels sur CakePHP sur le site ?
Car il y a justement un Tutoriel qui concerne les tags en HasAndBelongsToMany (HABTM) : Tutoriel Vidéo CakePHP » Système de Tags, HasAndBelongsToMany.
Tu y trouverais par conséquent, quasiment toutes les questions que tu pourrais te poser sur ce système.

Oui Lartak, j'avais regarder le tuto de chez Grafikart.
Mais dans son tuto les post existe déjà, dans ce cas c'est facile.

Dans mon cas c'est la création du post et des éventuels nouveaux tag et tout ça simultanément.

Si c'est pour le fait que le post que tu crées n'a pas encore d'id lors de la création et que ça te pose un problème pour sélectionner des tags existant ou en créer de nouveaux pour qu'ils soient rattachés au post, il te suffit d'utiliser un système de brouillons et justement, Grafikart à fait un Plugin comme il l'explique dans ce tutoriel : Tutoriel CakePHP » Créer un système de Brouillons.