3
Symfony 3에서는 더 이상 cascade_validation
을 사용할 수 없습니다. 그래서 타입에 대한 Assert를 만들어야합니다. 그러나 작동하지 않는다. 필드는 BLANK이지만 Assert는 NOtBlank라고해도 유효하다. Participants 클래스가 있고 참가자 모델을 확인할 때 Adults ArrayCollection을 확인하려고합니다.Symfony : ArrayCollection에 대한 Assert/Validation 사용 방법
//Participant Model
/**
* @var ArrayCollection
* @Assert\All({
* @Assert\Type(type="My\WebsiteBundle\Model\Adult"),
* })
*/
protected $adults;
//Adult Model
class Adult
{
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $salutation;
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $firstname;
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $lastname;
가 이미이 글을 읽을이 도움에 아무 대답이 없다 이 작업은 ArrayCollection에서 수행하십시오. – Zwen2012
Hi @ Zwen2012이 유효성 검사기에는'traverse'라는 옵션이 있습니다. doc에서 : _이 제약 조건이 객체의 배열을 보유하는 속성에 적용되면이 배열의 각 객체는이 옵션이 true로 설정된 경우에만 유효성이 검사됩니다. _ – Matteo
OK, 예를들시겠습니까? 그것처럼?/** * @var의 ArrayCollection에 * @Assert \ 모든 ({어설 \ 트래버스(), * @Assert \ 유형 (유형 @ = "내 \ WebsiteBundle이 모델 \ 체크 아웃 \ 성인 \"), *}) */ 보호 된 $ 성인; – Zwen2012