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 を学習しようとしているので、可能な限り活用したいと考えています。任意のポインタをいただければ幸いです。