Yii2 проверка на уникальность сочетания полей

Как то мне понадобилось сделать такую валидацию, что бы уникальными были не поля по отдельности, а комбинация полей.

Когда в контролер приходят данные из формы с ними надо что-то сделать – загрузить в соответствующую модель, проверить на валидность, как-нибудь так:

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

При создании в Yii форм, с наследованием от класса Model ( use yii\base\Model), правила валидации задаются функцией rules:

в виде массива [[‘поле1’, ‘поле2’], ‘название валидатора’, параметры(опционально)]

В приведенном выше примере поля field1 и field2  – обязательны для заполнения, а поле field1 должно быть уникальным для данного field2.

(документация по валидатору unique)

Кроме встроенных валидаторов (соответствие различным типам переменных, проверка на изображение, файл, url, email и т.д.), есть возможность писать свои. Например:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: