繁体   English   中英

Symfony2区分大小写2个字段上的唯一验证

[英]Symfony2 Case sensitive Unique validation on 2 fields

Symfony的初学者,我有一个体育学院

class Institutes {
    protected $id;
    protected $name;
    protected $city;
}

我想要的机构名称在每个城市中都是唯一的。 换句话说,阻止用户输入同一城市中的多个机构。 我知道有一个unique entity选项,但无济于事。 因为机构名称在不同城市可以是相同的,但在same city不能same city

我读了一些有关使用存储库类进行自定义验证的内容,但不知道它如何工作。 例如

      name       |   city   | valid  |
-----------------+-------------------+
DHQ Hospital    | Attock    | t      |
dhq Hospital    | Attock    | f      | already exists in the city
dHQ HospITal    | Attock    | f      | already exists in the city
DHQ Hospital    | Islamabad | t      |

使用UniqueEntity验证器,它可以检查字段的组合,而不仅仅是单个字段是唯一的。 在您的情况下,您可以使用(使用批注):

use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity
 * @UniqueEntity(fields = {"name", "city"})
 */
class Institutes
{
...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM