Есть 2 необходимые функции: установить пароль при регистрации и смене пароля, если пользователь забыли его. Когда пользователь подписывается, длина пароля должна быть не менее 4 символов; когда изменения проходят - не менее 5 символов.Yii2: сценарии() модельный метод
Вид является общим для регистрации и смены прохода. Очевидно, что существует также 2 действия, в которых используется либо сценарий «регистрация», либо «изменение». Фрагмент кода в модели:
public function rules() {
return [
['password', 'string', 'min' => 4, 'on' => 'signup'],
['password', 'string', 'min' => 5, 'on' => 'change'],
];
}
Но я хочу сделать это с помощью сценариев(). Как это сделать? Я новичок в Yii, поэтому не понял, когда и как использовать сценарии (). Благодарю.
UPD. Мне нужно использовать сценарии() для ONE поля с ONE правило, но РАЗЛИЧНЫХ аргументов к этому правилу. how to define a scenario in Yii2? - это НЕ мое дело.
Возможный дубликат [как определить сценарий в Yii2?] (Http://stackoverflow.com/questions/31112079/how-to-define-a-scenario-in-yii2) – Tony
@ Тони, нет и нет ! Я понимаю, как использовать _scenarios() _ для проверки _required_. Но в моей ситуации пропуск в обоих случаях сохраняется. Мне нужно использовать сценарии() для поля ONE с правилом ONE, но DIFFERENT аргументы этому правилу. –
@ Тони, извините, кажется, я случайно удалил ваш комментарий. Я пробовал, но поведение кода становится неправильным. Мне просто нужен пример, понимаешь? Если я напишу, как сказал: _ $ scenarios ['signup'] = ['password']; _ и _ $ scenarios ['signin'] = ['password']; _, как мой _rules() _ метод нужно изменить? Как я понимаю, я должен удалить _on_ при использовании _scenarios() _. Но это будет неправильно. В противном случае, если мне не нужно изменять _rules() _, какой смысл писать _scenarios() _? Без него он отлично работает. –