2012-10-19 30 views
0

我有以下控件和驗證的一種形式:Symfony的自定義窗體驗證的選項集數

$this->widgetSchema['num01'] = new sfWidgetFormChoice(array(
    'choices' => Doctrine_Core::getTable('ticket')->getTicketnum(), 
    'expanded' => true, 'multiple' => true, 
    )); 

    $this->validatorSchema['num01'] = new sfValidatorChoice(array(
    'choices' => 
    array_keys(Doctrine_Core::getTable('ticket')->getTicketnum()), 'required' => true, 'multiple' => true, 
    )); 

說我遇到的問題是,它顯示20個複選框,我想作他們只選擇其中的5個。不多也不少。它必須正好5箱檢查。我如何自定義我的代碼,使這種驗證方式?謝謝

回答

0

我試過這個只是爲了看看它是否會工作,它做到了。 :)

$this->validatorSchema['num01'] = new sfValidatorChoice(array(
    'choices' => 
    array_keys(Doctrine_Core::getTable('ticket')->getTicketnum()), 'required' => true, 
    'multiple' => true, 'max' => 5, 'min' => 5, 
    )); 
+0

不要忘記將您的答案標記爲已接受。 – j0k