0
我需要添加額外的字段的字段集,集成了一定的靈活性,我創建了Zend框架形式2.ZF2輸入過濾器添加到字段集
我想這一點使用方法的主要實現形式。
將輸入字段追加到Fieldset是沒有問題的,但問題始於輸入驗證和過濾。我不知道如何在添加到表單並解析getInputFilterSpecification部分後爲Fieldset實現Filter。
這是我目前的做法,這可悲的是不起作用:在這個問題上
public function addAdditionalField($data, $filterData = null) {
$fieldset = $this->get('additional');
$fieldset->addElement($data);
if ($filterData !== null) {
$factory = new InputFactory();
$filter = $this->getInputFilter();
var_dump($filter->add($factory->createInputFilter(array('additional' => $filterData))));
}
}
任何思緒之中?
你知道['Zend \ Form \ Element \ Collection'](http://zf2.readthedocs.org/en/latest/modules/zend.form.collections.html)嗎?這應該涵蓋你的問題。 – Sam
我已經在使用集合,但重點是我需要手動將自定義字段添加到由輸入(API,數據庫)混合定義的表單中。就像一個字段集中的表單的自定義生成器一樣。 我只是沒有看到如何手動添加一個字段集包含的元素的過濾器 – ChrJantz
事情是你的集合/字段集應包含所有可能的字段,包括它們的驗證器。現在,如果您的配置/ api顯示「沒有元素X」,那麼您將該字段集的元素和'setValidationGroup()'移除到除元素X之外的所有元素 - 您刪除不需要的東西,不添加東西 – Sam