在唯一验证期间,symfony 2异常代替消息

时间:2015-07-17 21:21:02

标签: php symfony doctrine-orm

我希望在用户输入重复名称时在symfony中显示错误消息而不是异常。现在它不起作用,symfony显示异常。

/**
 * Download
 *
 * @ORM\Table(name="izo_download")
 * @ORM\Entity(repositoryClass="AppBundle\Entity\DownloadRepository")
 * @UniqueEntity(
 *     fields={"name"},
 *     message="This name exist."
 * )
 * @Vich\Uploadable
 */
class Download{
/**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, unique=true)
     */
    private $name;

错误讯息:

  

SQLSTATE [23000]:完整性约束违规:1062重复条目   ' izoplast-lato.txt'关键字' UNIQ_429C16C25E237E06'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试将fields={"name"}替换为fields="name"。这个对我有用。我刚刚尝试过。另外check this出来。

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

/**
 * @ORM\Table(name="izo_download")
 * @UniqueEntity(fields="name", message="This name exist.")
 */
class Download
{
    /**
     * @ORM\Column(name="name", type="string", length=255, unique=true)
     */
    private $name;
}