Bonjour,

Je suis confronté à un petit problème avec cake. J'ai un controller qui à plusieurs actions:

class ExemplesController extends AppController {
public function action1() {
    //validate1
}

public function action2() {
    //validate2
}

De l'autre côté, j'ai mon model où je définis ma règle de validation

class Exemple extends AppModel {
    public $validate = array(
        'slug' => '/^[a-z\-]{1,250}$/'
    );
}

Mon problème est que j'ai besoin de deux règles différentes en fonction de si c'est action1() qui est appelé ou action2(). Comment puis je résoudre ce problème ?

4 réponses


Bonsoir.

Il nous faut plus de précisions, il ne suffit pas de nous dire action1, action2.
Il faudrait déjà nous dire si les deux actions ont des actions différentes au niveau des requêtes SQL.
Car si par exemple la première action est spécifique à la crétion d'un enregistrement (CREATE) et la seconde à la modificaction (UPDATE), il te suffit d'utiliser la clé on de validate pour appliquer ou non certaines règles à la création d'un enregistrement ou non.

Ensuite, il y a plusieurs manières de définir des règles de validations, sois donc plus précis dans ta demande.

brayan
Auteur

Jean christophe > merci, je pense que cela devrait faire l'affaire, par contre domage parce que cela alourdi le code coté controller ...

Lartak> En fait je n'ai pas préciser car je suis pas vraiment bloqué, disont que j'ai poser la question pour un prochain éventuel projet... On peut donc imaginer tout type de scénarios, table différentes, tables identiques...

Cordialement

Tu nous demandes donc de faire plusieurs propositions et donc à l'aveuglette.
Je trouve ça plutôt gonflé quand même, nous voulons bien aider, mais pas faire la partie réflexion de ton projet.
Je ne peux te dire qu'une chose, lis la documentation CakePHP, car nous n'allons quand même pas t'aider pour un éventuel projet, sans en plus de cela, ne pas avoir une trame solide du code prévu.