在我的表格中,我有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中定義的約束lass ArticlePattern。換句話說,我想阻止驗證器在$ articlePattern對象內下降,但我希望驗證放置在$ articlePattern字段本身上的約束。
任何想法如何做到這一點?
EDIT2:
確認團組將工作。所以,最終的解決方案是增加groups={"search_request"}
約束選項(該組的名稱是任意的),以每場斷言在SearchRequest類,像這樣:
/**
* @Assert\NotBlank(groups={"search_request"})
*/
private $articlePattern;
這樣,驗證不會下降到關聯的對象(假設他們不屬於 - 在這種情況下 - 「search_request」組)。
將字段設置爲「disabled」或「readonly」怎麼辦? – jere