【发布时间】:2016-03-04 09:52:17
【问题描述】:
我有一个名为 Test 的实体,它有两个字段:id 和 name。 我希望这个名字是独一无二的。
我做了什么:
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
...
/**
* Company\AppBundle\Entity\Test
*
* @ORM\Table(name="test")
* @UniqueEntity("name")
* @ORM\Entity(repositoryClass="Company\AppBundle\Entity\TestRepository")
*
*/
class Test
{
....
/**
* @var string$name
*
* @ORM\Column(name="name", type="string", length=200, nullable=false, unique=true)
*/
private $name;
....
在我的控制器中,我正在使用:
if ($form->isValid()) {
....
但是验证通过了。我错过了什么吗?
【问题讨论】:
-
是
Testentity 是表单的主要实体,还是嵌入到您要验证的表单中? -
@DonCallisto,测试实体是表单的主要实体!
-
这是一个错字
/** * @var integer $test * * @ORM\Column(name="test", type="string", length=200, nullable=false, unique=true) */ private $test;吗? -
你能附加整个控制器动作和表单类型吗?谢谢
标签: validation symfony doctrine entity