これまでにこの問題を抱えている人がいるかと思いました。 それは私のカスタム要素を見つけることができますので、私はZendの\フォーム\ファクトリーを使用してフォームを作成するために、事前設定されたフォームの仕様を使用しています、私はまた、工場出荷時にFormElementManagerを注入していますなどファクトリを使用してフォームを作成するときにZF2でカスタムバリデータを使用できません
私の質問は次のとおりです。でも
任意のカスタムバリデーターはフォームに登録されており、isValid()メソッドはトリガーされません。ファクトリを使用してフォームを作成することによってトリガされたisValid()を取得するために必要なことはありますか。
$spec = [
'hydrator' => '...',
'fieldset' => [
...,
...,
...,
],
'input_filter' => [
...,
....
....,
//contains my custom validator in here
],
];
$factory = new Factory();
$factory->setFormElementManager($formElementManager);
$form = $factory->createForm($spec);
しかし、私はトリガー:
$form->isValid()
それは私のカスタムバリデータではisValidコールに取得していません
私の元には、次のようになります。
ありがとうございました。 –
問題はそれだけではありませんでした。基本的に必要でないzf2フォーム要素は、バリデータチェーン内のバリデータを呼び出さないため、問題が発生しています。私の解決策は、入力が不要なときにNot_Emptyバリデータを基本的に追加することでした。カスタムバリデータを含むすべてのバリデータがトリガされました。参照:https://akrabat.com/category/zend-framework-2/ –