0
필드 slug가있는 엔티티에 대한 클래스 제약이 있습니다. 커스텀 클래스 제한에서 슬러그에 대한 검사를하고 싶지만 제약 조건에서 getSlug()
값은 비어 있습니다.sluggable entiy에 대한 symfony2 클래스 validator
// my custom class validator
public function isValid($page, Constraint $constraint) {
$slug = $page->getSlug();
=>$slug
이 비어 있습니다.
public function createAction()
{
$entity = new Page();
$request = $this->getRequest();
$form = $this->createForm(new PageType(), $entity);
$form->bindRequest($request);
사용자 정의 클래스 유효성 검사기가 $form->bindRequest($request)
에서 호출됩니다
여기 여기 내 컨트롤러 내 법인
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;
입니다. 제 생각에 슬러그는 설정되지 않았습니다. 왜냐하면 교리가 사전 지속 사건에서 그것을 설정할 것이기 때문입니다. 그러나이 이벤트는 나중에 $em->persist($entity)
에서 호출됩니다.
내 클래스 제약 조건에서 페이지의 슬러그를 얻을 수있는 방법이 있습니까?
아마 슬러그에 대한 유효성 검사기가 필요하지 않습니다. 필요한 것은 http://stackoverflow.com/questions/10968300/unique-slugs-with-multi-entities-in-symfony2에 설명 된 user_slug/page_slug의 고유 한 조합입니다. – huzi