php - Symfony2 - UniqueEntity 无法使用两个字段的ignoreNull

标签 php validation symfony

Symfony2 - UniqueEntity 无法使用ignoreNull 字段

// src/AppBundle/Entity/Service.php
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity
 * @UniqueEntity(
 *     fields={"host", "port"},
 *     errorPath="port",
 *     message="This port is already in use on that host."
 * )
 */
class Service
{
    /**
     * @ORM\ManyToOne(targetEntity="Host")
     */
    public $host;

    /**
     * @ORM\Column(type="integer", nullable = true)
     */
    public $port;
}

我尝试添加具有空值的端口,它抛出“此端口已在该主机上使用”。错误。

我想在端口为空时忽略验证。

最佳答案

检查此链接以获取解决方案。 UniqueEntity validation in symfony 2

忽略Null¶

类型: bool 值默认值:true

如果此选项设置为 true,则约束将允许多个实体的字段具有空值,而不会导致验证失败。如果设置为 false,则仅允许一个空值 - 如果第二个实体也有空值,则验证将失败。

关于php - Symfony2 - UniqueEntity 无法使用两个字段的ignoreNull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42219068/

相关文章:

php - getElementById 有时为 null。已经尝试过 .onload 和 .ready

javascript - 处理大量数据的最佳方法

asp.net-mvc - 如何使用具有不同验证消息的多个正则表达式

asp.net-mvc - 仅显示第一条错误消息

symfony - "Service xxx has a dependency on a non-existent service"这似乎不是真的?

PHP 和 Elasticsearch 在返回的对象中包含分数/相关性

javascript - 在不调整图像大小的情况下更改图像的可点击区域

ASP.net requiredFieldValidator 不阻止回发

php - Symfony2 : Error with entitymanager configuration

php - Azure Functions PHP 系统找不到指定的文件