[英]Validation Symfony2 Entity Choice Field
我正在嘗試驗證symfony 2.3項目中的表單,所以我有一個“客戶”字段:
$builder
->add('customer',
'entity',
array('property'=> 'item',
'multiple' => true,
'expanded' => true,
'class' => 'OrdersBundle:Customer',
'required' => true, 'empty_value' => '',
'query_builder' => function(\Ella\OrdersBundle\Repository\CustomerRepository $er) {
return $er->createQueryBuilder('q')->andWhere("q.is_delete = 0")->orderBy('q.item', 'asc');
}));
當用戶未選擇任何內容時,我試圖返回錯誤,所以我這樣做:
properties:
customer:
- Choice: { min: 1, minMessage: 'message' }
要么
properties:
customer:
- NotBlank:
message: message
和其他東西,但沒有任何效果,關於我在做什么錯的想法? 他們在文檔中說我們可以使用數組,但這也不起作用...
實際上是Symfony返回:
必須在約束選擇上指定“選擇”或“回調”
對於Choice
驗證器,您需要從docs中指定一個包含可用的允許選擇的數組或一個回調函數:
此約束用於確保給定值是給定的一組有效選擇中的一個。 它還可以用來驗證項目數組中的每個項目都是那些有效選擇之一。
您可以使用的是計數驗證器:
customer:
- Count:
min: 1
max: 99
minMessage: "Min message"
maxMessage: "You cannot specify more than {{ limit }}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.