Одни rules для множества моделей

У меня есть две модели: Для регистрации и для авторизации пользователя. Каждая моделька имеет соответственно свои валидаторы.

Например, rules для авторизации:

    public function rules()
    {
        return [
            [['username', 'password'], 'required'],
            [['username', 'password'], 'length', 'max' => 100],
            ['rememberMe', 'boolean'],
            ['password', 'validatePassword'],
        ];
    }

rules для регистрации:

    public function rules()
    {
        return [
            [['username', 'password', 'firstname', 'lastname'], 'required'],
            [['username', 'password'], 'length', 'max' => 100],
            ['username', 'unique'],
        ];
    }

Как вы видите, rules в некоторых местах отличаются, однако в них одно общее правило: username и password и там и там обязательны для заполнения, а также имеют максимальную длину в 100 символов.

Так вот, пока моделек у меня всего две, однако когда число моделек возрастет до 5-6, и, чисто теоретически, появится задача изменить максимальную длину username и password со 100 до 200 символов, то придется это делать вручную. Заходить в каждую модельку и ручками править. Мое мнение - это не очень практично, поэтому хотелось бы знать - есть ли в Yii2 возможность вынести одинаковые rules для определенных моделек в какой-нибудь отдельный файл / функцию? Чтобы например в случае, если понадобится изменить длину username и password мне достаточно было бы залезть в один файл и поправить это дело. Надеюсь понятно объяснил.


Ответы (0 шт):