Программирование, веб-кодинг

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

Иногда нужно в приложении сделать проверку на уникальность сразу нескольких полей одновременно.

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

Используйте в правилах 'attribute'

['a1', 'unique', 'attribute' => ['a1', 'a2']]

В таком варианте поле 'a1' будет выдавать сообщение об ошибке, если уникальности не будет.

Другой способ:

[['a1', 'a2'], 'unique', 'attribute' => ['a1', 'a2']]

Теперь и 'a1' и 'a2' будут писать ошибку, если поля эти вместе не уникальны.

Кроме того можно писать

[['field1','field2'], 'unique']

потому что, если атрибуты явно не указаны, то проверка идёт по текущим атрибутам.