2016-04-08 9 views
0

Ich habe einen Fall, in dem ein Feld obligatorisch, aber nicht immer obligatorisch ist. Wenn ich das Attribut wie erforderlich in modal rules() wie schreiben: [['my_attribute'], 'required'] dann würde es das Feld in jedem Fall erforderlich machen.

Kann ich ein bestimmtes modales Attribut wie erforderlich erstellen? in der benutzerdefinierten Funktion des Controllers oder Modales (d. h. der Ort, an dem ich das Feld als Pflichtfeld benötige).yii2 modales Attribut wie dynamisch benötigt

P.S: Ich möchte jQuery und JavaScript vermeiden. Bitte antworte, wenn es einen Weg in Yii2 gibt, um es zu erledigen :) Danke.

+0

zeigen, was man versucht hatte, ? Unklar was du fragst. –

+0

Ich habe meinen Ansatz bereits oben geschrieben - die Regel() benötigte man und die eine über jQuery. Kennst du einen angemessenen Weg, dies nach yii2-Standards zu tun? –

+0

können Sie Szenario verwenden. –

Antwort

1

Sie könnten when von here So verwenden, wird es so aussehen werden:

public function rules() 
{ 
    return [ 
     ['password', 'required', 'when' => function($model) { 
      return $model->role === 'user'; // boolean should be returned 
     }] 
    ]; 
} 

Es wird das Attribut auf required Zustand überprüfen nur, wenn $model Rolle ist user