我对带有字段 slug 的实体有一个类约束。我想在自定义类约束中对 slug 进行一些检查,但在约束中的值为getSlug()
空。
// my custom class validator
public function isValid( $page, Constraint $constraint ) {
$slug = $page->getSlug();
=>$slug
为空。
这是我的实体
class page
{
/**
* @ORM\Column(name="name", type="string", length=150)
* @Assert\NotBlank()
*/
private $name;
/**
* @Gedmo\Slug(fields={"name"})
* @ORM\Column(name="slug", type="string", length=255)
*/
private $slug;
这是我的控制器:
public function createAction()
{
$entity = new Page();
$request = $this->getRequest();
$form = $this->createForm( new PageType(), $entity );
$form->bindRequest( $request );
自定义类验证器在$form->bindRequest( $request )
. 我认为,slug 没有设置,因为教义会在 pre persist 事件中设置它。但此事件稍后在$em->persist( $entity )
.
有没有办法在我的类约束中找到页面的slug?