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 ответ
Нет, это невозможно. Вы можете сгруппировать несколько полей, сценариев и исключений вместе, но не несколько валидаторов (примеры см. В отдельном руководстве).
Единственным выходом было создать свой собственный валидатор, объединяющий требуемые, как и предлагал Сэмюэль.