簡體   English   中英

驗證Symfony2實體選擇字段

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

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