Сущность
<?php
namespace OwrBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity(repositoryClass="OwrBundle\Entity\Repository\UserRepository")
* @ORM\Table(name="`user`")
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity(
* fields={"username", "phone"},
* message="duplicate"
* )
*/
class User implements UserInterface
{
/**
* @ORM\Id
* @ORM\Column(type="integer", name="user_id")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", name="email", unique=true)
* @Assert\Email(
* message = "email",
* checkMX = true
* )
*/
protected $username;
/**
* @ORM\Column(type="string", length=13, unique=true)
* @Assert\Regex(
* pattern = "/^\+\d{12}$/",
* message = "correct"
* )
*/
protected $phone;
/**
...
**/
}
Ввожу номера телефона который уже есть в базе данных.
Но валидатор не отдает ошибку.
Её отдает уже сама база данных:
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "uniq_8d93d649444f97dd"
DETAIL: Key (phone)=(+180863723139) already exists.
Как заставить валидатора ловить ошибки?