Intereting Posts
как передать все параметры запроса запроса на встроенные контроллеры в twig symfony 2? PDO: определение параметров с использованием foreach и $ _POST Как добавить новый вид (а также новый тип элемента меню) к существующим компонентам Joomla 2.5? Zend Framework генерирует уникальную строку Как заголовки работают с выходной буферизацией в PHP? PHP не может загружать динамическую библиотеку «php_pdo_oci.dll» проблема создания сигнатуры oAuth с PHP (отправка фотосет в Tumblr) Ошибка jQuery 501 (Неподдерживаемый метод ('POST')) PHP: сеанс не сохраняется перед перенаправлением заголовка Вставить запрос на загрузку страницы, вставить дважды? проверить дату в диапазоне от 24 часов Каков наилучший способ уведомления пользователя после перенаправления правила access_control? исключая URL-адреса из ссылок на пути? Создание вида поиска в форме через фрагмент в форме Regex, который извлекает текст между тегами, но не теги

Метод Yii2: сценарии ()

Есть две необходимые функции: установить пароль при регистрации и смене пароля, если пользователь забыли его. Когда пользователь подписывается, длина пароля должна быть не менее 4 символов; когда изменения проходят – не менее 5 символов.

Просмотр является общим для регистрации и изменения прохода. Очевидно, что существует также 2 действия, в которых используется либо сценарий «регистрация», либо «изменение». Фрагмент кода в модели:

public function rules() { return [ ['password', 'string', 'min' => 4, 'on' => 'signup'], ['password', 'string', 'min' => 5, 'on' => 'change'], ]; } 

Но я хочу сделать это через сценарии () . Как это сделать? Я новичок в Yii, поэтому не понял, когда и как использовать сценарии () . Благодарю.

UPD . Мне нужно использовать сценарии () для поля ONE с правилом ONE , но DIFFERENT аргументы этому правилу. как определить сценарий в Yii2? – Это не мое дело.

    Поскольку документация о scenarios() говорит: По умолчанию реализация этого метода вернет все сценарии, найденные в объявлении rules (). Поэтому, как правило, вам не нужно переопределять этот метод, потому что он будет искать on клавишах массива, чтобы установить активные атрибуты для текущего сценария, чтобы их правильно проверить.

    Поэтому в вашем случае 'on' => 'some scenario' для разных валидаций одного и того же атрибута – именно то, что вам нужно.