제 양식에는 entity
유형의 필드가 있습니다. 양식을 제출할 때 해당 엔티티의 유효성을 비활성화하는 방법은 무엇입니까? 이 엔티티는 이미 데이터베이스에 저장되어 있으므로 유효성 검사기가 내 관점에서이 엔티티의 유효성을 검사 할 필요가 없습니다.Symfony2의 엔티티 양식 필드 및 유효성 검사?
편집 :
코드는 다음과 같습니다
class SearchRequest
{
/**
* @ORM\ManyToOne(targetEntity="ArticlePattern")
* @ORM\JoinColumn(name="article_pattern_id", onDelete="CASCADE")
* @Assert\NotBlank
*/
private $articlePattern;
}
양식 필드 :
$builder
->add('articlePattern', 'entity', array('class' => 'LonbitItssBundle:ArticlePattern')
검증 그룹이 작동하지 않습니다을 내가 달성하고자하는에 검증을 위해이기 때문에 $articlePattern
필드의 제약 @Assert\NotBlank
을 확인하십시오. 그러나 저는 그가 c에서 정의 된 제약 조건을 검사하기를 원하지 않습니다. 기사 패턴. 즉, $ validator가 $ articlePattern 객체 내에서 내림하지 못하도록하고 싶지만 $ articlePattern 필드 자체에 대한 제약 조건을 유효성을 검사하기를 원합니다.
어떻게 할 수 있습니까?
는 EDIT2 :
검증 그룹 는를 작동합니다. 그래서 최종 솔루션은 다음과 같이 SearchRequest에 클래스의 모든 필드 주장에 (그룹의 이름은 임의) groups={"search_request"}
제약 옵션을 추가하는 것입니다
/**
* @Assert\NotBlank(groups={"search_request"})
*/
private $articlePattern;
그 방법은, 검증들이 가정 (연관된 객체로 내려하지 않습니다 속하지 않음 -이 경우 "search_request"그룹).
필드를'disabled' 또는'readonly'로 설정하는 것은 어떻습니까? – jere