0

メソッドのイベントでトリガーして__construct、別のモジュールからいくつかのアイテムをロードするフォームがあります。これまでのところ、フィールドセットは他のモジュールからロードされ、フォームに追加され、フィールドセットrequest->getPost()内の要素のデータはありますが、フィールドセットのデータ$form->getData() はありません。

$form->getInputFilter()このフィールドセットをフォームに追加する前に呼び出していますが、dosn を呼び出しても、$form->getInputFilter()新しく追加された要素のフィルターが作成されないようです。穴フィルターを再作成せずに動的イベントの入力フィルターを作成するにはどうすればよいですか?

または$form->getInputFilter()、すべての要素がフォームに追加されるまで呼び出しを遅らせる必要がありますか?

4

2 に答える 2

3

また、入力フィルターによって無視された要素を後でフォームに追加しました。
私の解決策はおそらく最良の解決策ではありませんが、まだ他の回答を受け取っていないため、私がしたことは次のとおりです。

追加した
use Zend\InputFilter\Factory as InputFactory;

フォームデータを検証してから使用するクラスで

$factory = new InputFactory(); 
$form->getInputFilter()->add($factory->createInput(array(
    'name'     => 'title_str',
    'required' => true,
    'filters'  => array(
         array('name' => 'Int'),
    ),  
)));
于 2013-08-26T22:52:33.893 に答える