Zend\Element\Select の inArray バリデータを無効にする方法は? この標準バリデータ選択要素を削除できません。
編集:
私がやろうとしているのは、非常に動的な選択要素に ajax を設定することです。そのため、inArray は参照フィールドの値を失います。
この要素にajaxを入力する正しい方法を知っている人はいますか?
Zend\Element\Select の inArray バリデータを無効にする方法は? この標準バリデータ選択要素を削除できません。
編集:
私がやろうとしているのは、非常に動的な選択要素に ajax を設定することです。そのため、inArray は参照フィールドの値を失います。
この要素にajaxを入力する正しい方法を知っている人はいますか?
実際には、現時点でバリデーターを無効にすることはできないようです。ただし、select 要素をオーバーライドして、この特定のケースのバリデータを削除できるようにすることができます。
use Zend\Form\Element\Select;
class MySelect extends Select {
public function getValidator() {
return $this->validator;
}
}
基本的に、現在の select 要素の重要な問題は、バリデータが存在しない場合です。それはそれを作成します。ここで使用できるもう 1 つのオプションは、バリデーターを手動で設定することです。おそらく行うべきことは、手動で InArrayValidator を作成し、AJAX 呼び出しから来る可能性のあるオプションを設定することです。その場合、上にセッターを追加する必要があります。
バージョン 2.2 以降、Zend Framework はinArray バリデータの呼び出しを無効にする機能を提供します。
$element->setDisableInArrayValidator(false);
またはオプションを要素に渡す:
'disable_inarray_validator' => false