Использование Symfony2.3.4, Doctrine2 и PHP5.6.3.
Это мое validation.yml
файл:
Project\NameBundle\Entity\EntityName:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: f1
message: "There is already an entity with the same f1"fields: f2
message: "There is already an entity with the same f2"
Это всего лишь наглядное пособие, чтобы помочь вам понять, что мне нужно. Это не работает, как я хочу. Это:
При отправке формы:
— Текущее поведение:
if(f2 is not unique)
error;
else
submits;
Ожидаемое поведение:
if(f1 === X.f1 AND f2 === X.f2) //X is any of the entities already in the DB
error;
else
submits;
На всякий случай, я уже сделал это в моем EntityName.php
класс с @UniqueEntity(fields={"f1", "f2"}, message="error")
аннотации, но мне это действительно нужно в .yml
,
Побочный квест:
Прямо сейчас, с подходом аннотации, он показывает знак ошибки рядом с только f1
Есть ли способ показать его рядом со всеми вовлеченными полями?
Документация (http://symfony.com/doc/current/reference/constraints/UniqueEntity.html#fields) говорит, что поля могут быть массивом:
fields: [f1, f2]
Формат YML описан, например, здесь: http://symfony.com/doc/current/components/yaml/yaml_format.html
Других решений пока нет …