0

Form と User モデルがあります。コントローラーで、フォームバリデーターを$user->getInputFilter(). それはうまくいきます。

次に、フォームにキャプチャを追加すると、他のコードがなくても、それ自体で検証されるようです。したがって、各要素には、フォームの「グローバル」バリデーターに関係なく呼び出される独自のバリデーターもあると思われます。

「Factory Backed Form extension」を使用してフォームを作成し、このコードを取得して次のように追加します (正しいようです。パスワード フィールドには があります'name' => 'password')。

$this->add(array(
    'name' => 'password_confirm',
    'attributes' => array(
        'type' => 'password',
        'required' => true,
    ),
    'options' => array(
        'label' => 'Confirm Password',
    ),
    'validators' => array(
        array('identical', false, array('token' => 'password'))
    )
));

しかし、それは検証されません (常にパスします)。他のコード例を見ると、個々の要素に入力フィルターを追加しても問題ないようです。上記のように、キャプチャは自己検証のように見えますが、なぜそうではないのでしょうか? 自分でチェックして使用できることはわかっています$form->addError($message)が、Zend を学習しようとしているので、可能な限り活用したいと考えています。任意のポインタをいただければ幸いです。

4

1 に答える 1

0

カスタム検証パスワード チェックを作成します。ここで回答: http://zend-framework-community.634137.n4.nabble.com/Validation-identical-in-the-form-td671430.html

于 2013-01-07T16:31:47.917 に答える