使用SEVERAL属性的唯一实体约束,而不是validation.yml symfony2中的一个

时间:2016-04-30 14:58:29

标签: php validation symfony yaml unique-constraint

使用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旁边的错误标志,有没有办法在所有相关字段旁边显示它?

1 个答案:

答案 0 :(得分:1)

文档(http://symfony.com/doc/current/reference/constraints/UniqueEntity.html#fields)表示字段可以是数组:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [NC,L]

例如,在此处描述了YML格式:http://symfony.com/doc/current/components/yaml/yaml_format.html