我想篩選和驗證每個項目並驗證整個檢查沒有重複。該集合中有任意數量的文本輸入。如何在使用集合時向InputFilter添加條目?
$this->add(array(
'type' => 'Zend\Form\Element\Collection',
'name' => 'aliasList',
'options' => array(
'label' => 'Alias',
'count' => 2,
'allow_add' => true,
'target_element' => array(
'type' => 'Zend\Form\Element\Text'
)
)
));
我嘗試添加下面的代碼,但我很難過我的手指。它顯然沒有工作。它希望可能有一個選項,如'oneach' = true
。
$inputFilter->add($factory->createInput(array(
'name' => 'aliasList',
'required' => false,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
)));
我還打算爲有效的URI添加驗證器並重復失敗。不幸的是,當我使用ZF2時,我認爲我將等待很長時間才能讓另一位ZF2開發者前來。
這是一個很大的幫助山姆,謝謝。我也遇到了綁定表單的麻煩。看起來Collection僅僅希望target_element是一個包含一個名爲object的成員的元素,否則就會被破壞。所以綁定不適用於標準表單元素的集合。請參閱rc4中的./library/Zend/Form/Element/Collection.php中的#481行。 –
我現在刪除了正確的答案,因爲我沒有;不想放棄囤積:) –