[英]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.