1

以下のスニペットは、「パスワードが一致しません」というメッセージを警告しません。

$password = new Zend_Form_Element_Password('password');
$password->setDecorators($elementDecoration);
$password->setLabel('Password')
    ->addFilter('StripTags')
    ->addFilter('StringTrim');

/* パスワードの確認 - トークン セクションをパスワード フィールド名に設定するだけです */

$confirmPswd = new Zend_Form_Element_Password('conf_password');
$confirmPswd->setDecorators($elementDecoration);
$confirmPswd->setLabel('Confirm Password:');
$confirmPswd->setLabel('Confirm Password:');
$confirmPswd->setAttrib('size', 35);
$confirmPswd->setRequired(true);
$confirmPswd->addValidator('Identical', false, array('token' => 'password'));
$confirmPswd->addErrorMessage('The passwords do not match');
4

2 に答える 2

0

メールアドレスに同じバリデーターを使用しています。フォームに追加するには、次のコードを使用します。

$this->addElement('text', 'confirm_email',
            array(
                'label'=>'Confirm Email Address',
                'required'=>true,
                'filters'=>array('StringTrim'),
                'validators'=>array(array('EmailAddress'),
                                    array('NotEmpty', true, array('messages'=>'Confirm email address is required.')),
                                    array('Identical', false, array('token'=>'email', 'messages'=>'The email addresses provided do not match.'))),

        'class'=>'thirdCol'));

フラッシュメッセンジャーを使用してエラーを表示します

foreach ($form->getErrors() as $error) {
                $this->flashMessenger->addMessage($error);
            }

フォームの送信時にJavaScriptアラートを取得しようとしている場合は、自分でコーディングする必要があると思います。フォームでは、次のようなものを使用します

$this->setAttrib('onsubmit', 'return checkRegistration();');

また、checkRegistration関数を、アラートするエラーを返すコントローラー/アクションへのajax呼び出しにします。jsonまたは同様のものを返すことを探している場合

$this->getHelper('layout')->disableLayout();
$this->_helper->viewRenderer->setNoRender(true); 

レイアウトとビューが無効になるため、返されるのはエコーしたものだけです。

お役に立てれば。

于 2013-03-21T15:02:39.120 に答える
0

確認用パスワードは以下の URL をご確認ください。

http://blog.justin.kelly.org.au/creating-a-simple-password-confirmation-field/

これはきっとあなたを助けるでしょう。

次のリンクも確認してください。

http://www.stoimen.com/blog/2011/11/23/how-to-setup-different-error-messages-for-each-zend-form-element-validator/

これもチェックしてください:

コントローラから Zend\Form エラー メッセージを設定する

于 2013-03-19T07:16:53.333 に答える