Vos Idées Pour Un Scenario De Rules Dependant D'une Liste Déroulante

slt,

Peut être vous êtes déjà posé cette question?

Dans un formulaire peut-on modifier les règles de validations selon la réponse à une question?

Exemple :

Je reçois une demande d’ami.

Lorsque je choisi de répondre oui le formulaire est envoyé

Lorsque je choisi non le formulaire m’impose la saisie d’un motif de refus dans textarea ou un choix multiple…(la rule devient ‘required’ pour l’attributs par exemple)

?

apparemment il semble exister un système de scenarios mais je ne maitrise pas du tout…

merci pour infos qu’elles quelles soient!

a+ :rolleyes:

Salut Grandoom,

les scenarios permettent de sélectionner les règles de validation qui sont appliquées sur les attributs de ton formulaire. Par défaut, toutes les règles de validation s’appliquent, mais il est possible de spécifier un nom de scénario pour chaque règle, et dans ce cas, la régle s’applique uniquement si le scénario en question.

Par exemple :




public function rules(){

		return array(

			// pas de scenario : tous ces attributes sont obligatoires

			array('name, subject, body', 'required'),


			// pour le scénario 'refu', l'attribut 'motif' est obligatoire

			array('motif', 'required', 'on' => 'refu'),

		);

}



Dans ton cas,tu peux par exemple détecter dans ton contrôleur, quelle est l’option sélectionnée par l’utilisateur :

  • acceptation : on ne fait rien, on laisse le scénario par défaut dans lequel l’attribut ‘motif’ n’est pas obligatoire
  • refus : juste avant la validation, on défini le scénario comme étant ‘refu’. Pour ce faire, tu dois utiliser la méthode setScenario(nom_du_scenario) sur le modèle concerné

Voilà, j’espère que cela t’aura permis de comprendre un peu mieux les scénario.

ciao

B)

Ha oui en effet merci pour tes explications et ton exemple concret… :D

Tu m’as Yiitiser!!!

je mets en application.