유효성 검사기 & 유효성 검사기를 사용하여 사용자 엔티티의 유효성을 검사하고 싶습니다. 지금까지 폼 워크 플로우에 의해 트리거 될 때 일하고,하지만 난 수동으로 실행할 경우, 나는 검증 호출하기 전에 하나 개의 관계 I 설정을 풀어 :symfony가 관계가있는 엔티티의 유효성을 수동으로 확인합니다.
UserController : 사이트 관계와
$user = new User();
$user->setRoles($roles);
$user->setSite($site);
...
$violations = $this->container->get('validator')->validate($user);
사용자 엔티티 :
/**
* @var Site the site linked to the entity
* @ORM\ManyToOne(targetEntity="LCH\MultisiteBundle\Entity\Site", cascade={"all"})
* @ORM\JoinColumn(name="site_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $site;
검사기 :
public function validate($user, Constraint $constraint)
{
$email = $user->getEmail();
// $site var is null while other "direct fields are filled
$site = $user->getSite();
$roles = $user->getRoles();
$username = $user->getUsername();
어떻게 수동으로 validat I 수 e 사전 설정 관계를 사용하는이 엔티티?
저장소에서 $ 사이트를 어떻게 구할 수 있습니까? – Edu
예, find ($ id) 내장 메소드로, $ id는 양식의 유형에 의해 제공됩니다. EntityManager 범위 문제에 대해 생각하십니까? – nbonniot
유효성을 검사하기 전에 사용자를 계속 유지하려고 할 수 있습니다. – Edu