簡體   English   中英

如何驗證 EntityType 字段?

[英]How to Validate an EntityType field?

我想確保用戶從下拉列表中選擇一個元素。

所以我在實體文件中使用了* @Assert\NotBlank()

/**
 * @ORM\ManyToOne(targetEntity=Bord::class, inversedBy="cartes")
 * @ORM\JoinColumn(nullable=false)
 * @Assert\NotBlank()
 */
private $bord;

問題是它總是返回This value should not be blank. 表格上的錯誤。 即使用戶從列表中選擇了一個值。

我也使用了* @Assert\NotNull() ,但我仍然遇到同樣的問題。

我可以通過在 controller 上進行測試並使用 flash 消息來刪除Assert驗證並對其進行硬編碼。 但我想使用斷言驗證。

那么如何驗證 EntityType 字段呢?

在表單類型中:

->add('bord',EntityType::class,[
            'class'=>Bord::class,
            'choice_label'=>'ref_bord',
            'label'=>'Bord',
            'placeholder'   =>'Choose a Bord',
            'mapped' => false])

在觀點上:

{{ form_widget(form.bord, {'attr': {'class': 'form-control'} }) }}  
{{ form_errors(form.bord) }}

這是因為您的實體字段未映射。 使用'mapped' => false表單不會將數據放入實體中,因此它始終是null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM