YiiFramework - избыточность кода при объявлении правила модели

Хотел бы спросить, есть ли способ, которым я могу сгруппировать несколько правил в модели в 1, чтобы я мог уменьшить количество кодов, особенно в тех местах, где один и тот же атрибут должен быть проверен на нескольких правилах... Ниже приведены правила декларация сейчас...

            array (
                    'new_email_addr',
                    'email',
                    'on' => 'chngEmail'
            ),
            array (
                    'new_email_addr',
                    'required',
                    'on' => 'chngEmail'
            ),
            array (
                    'new_email_addr',
                    'sameEmail',
                    'on' => 'chngEmail'
            ),

Как вы можете видеть, атрибут new_email_addr должен быть проверен на 3 правилах, прежде чем он будет сохранен... Я хотел добиться чего-то вроде этого, чтобы я мог делать все в одном разделе.

            array (
                    'new_email_addr',
                    'required, email, sameEmail',
                    'on' => 'chngEmail'
            ),

Есть ли такие возможности?

1 ответ

Решение

Нет, это невозможно. Вы можете сгруппировать несколько полей, сценариев и исключений вместе, но не несколько валидаторов (примеры см. В отдельном руководстве).

Единственным выходом было создать свой собственный валидатор, объединяющий требуемые, как и предлагал Сэмюэль.

Другие вопросы по тегам