Можно ли задать правило валидации unique на 2 поля?
Есть таблица элементов словарей(id, id словаря, key, value). Можно ли на уровне фреймворка задать правило валидации на уникальность связки id-словаря + key-элемента?
slo_nik: когда уникально не каждое поле в отдельности, а два значения вместе, например 1-1, 1-2, 1-3 не уникальны по первому полю, но уникальны в связке. В БД можно создавать уникальные индексы на несколько полей. Я пытаюсь узнать, можно ли этого добиться на уровне фреймворка с помощью стандартного валидатора.
McMike: Вот пример из официальной документации валидатора unique
['a1', 'unique', 'targetAttribute' => ['a1', 'a2']],
а1 и а2 должны быть уникальны, но в этом случае только а1 получает сообщение об ошибке
В валидаторе имеется два интересных свойства:
targetAttribute и comboNotUnique.
Почитайте справку по этим атрибутам и посмотрите исходный код валидатора.