必要な機能は 2 つあります。登録時にパスワードを設定する機能と、ユーザーがパスワードを忘れた場合にパスワードを変更する機能です。ユーザーがサインアップするとき、パスワードの長さは少なくとも 4 文字である必要があります。変更が通過したとき - 少なくとも 5 文字。
ビューは、登録とパスの変更に共通です。明らかに、2 つのアクションも存在し、いずれかのシナリオで「サインアップ」または「変更」が使用されます。モデルのコード スニペット:
public function rules() {
return [
['password', 'string', 'min' => 4, 'on' => 'signup'],
['password', 'string', 'min' => 5, 'on' => 'change'],
];
}
しかし、私はscenario()経由でやりたいです。どうやってするの?私は Yii の初心者なので、scenario()をいつ、どのように使用するかを理解していませんでした。ありがとう。
UPD。1 つのルールで 1 つのフィールドにscenario()を使用する必要がありますが、この 1 つのルールには異なる引数が必要です。Yii2でシナリオを定義するには? - それは私の場合ではありません。