0

Zend\Element\Select の inArray バリデータを無効にする方法は? この標準バリデータ選択要素を削除できません。

編集:

私がやろうとしているのは、非常に動的な選択要素に ajax を設定することです。そのため、inArray は参照フィールドの値を失います。

この要素にajaxを入力する正しい方法を知っている人はいますか?

4

2 に答える 2

0

実際には、現時点でバリデーターを無効にすることはできないようです。ただし、select 要素をオーバーライドして、この特定のケースのバリデータを削除できるようにすることができます。

use Zend\Form\Element\Select;

class MySelect extends Select {
    public function getValidator() {
        return $this->validator;
    }
}

基本的に、現在の select 要素の重要な問題は、バリデータが存在しない場合です。それはそれを作成します。ここで使用できるもう 1 つのオプションは、バリデーターを手動で設定することです。おそらく行うべきことは、手動で InArrayValidator を作成し、AJAX 呼び出しから来る可能性のあるオプションを設定することです。その場合、上にセッターを追加する必要があります。

于 2013-01-22T14:43:36.933 に答える
0

バージョン 2.2 以降、Zend Framework はinArray バリデータの呼び出しを無効にする機能を提供します。

$element->setDisableInArrayValidator(false);

またはオプションを要素に渡す:

'disable_inarray_validator' => false
于 2013-05-13T13:32:50.663 に答える