मैं पुस्तकालय के लिए इस वर्ग को जोड़ने/मेरी/मान्य/PasswordConfirmation.phpपासवर्ड पुष्टिकरण
<?php
require_once 'Zend/Validate/Abstract.php';
class My_Validate_PasswordConfirmation extends Zend_Validate_Abstract
{
const NOT_MATCH = 'notMatch';
protected $_messageTemplates = array(
self::NOT_MATCH => 'Password confirmation does not match'
);
public function isValid($value, $context = null)
{
$value = (string) $value;
$this->_setValue($value);
if (is_array($context)) {
if (isset($context['password'])
&& ($value == $context['password']))
{
return true;
}
} elseif (is_string($context) && ($value == $context)) {
return true;
}
$this->_error(self::NOT_MATCH);
return false;
}
}
?>
तो मैं इस तरह मेरे रूप में दो क्षेत्र बनाने के लिए:
$userPassword = $this->createElement('password', 'user_password');
$userPassword->setLabel('Password: ');
$userPassword->setRequired('true');
$this->addElement($userPassword);
//create the form elements user_password repeat
$userPasswordRepeat = $this->createElement('password', 'password_confirm');
$userPasswordRepeat->setLabel('Password repeat: ');
$userPasswordRepeat->setRequired('true');
$userPasswordRepeat->addPrefixPath('My_Validate','My/Validate','validate');
$userPasswordRepeat->addValidator('PasswordConfirmation');
$this->addElement($userPasswordRepeat)
सब कुछ अच्छा है लेकिन जब मैं हमेशा फॉर्म जमा करता हूं तो मुझे 'पासवर्ड पुष्टिकरण मेल नहीं खाता' संदेश मिलता है? क्या मेरी कोड
यहाँ Zend के प्रमाणकों का उपयोग कर पासवर्ड सत्यापन करने के लिए (मुझे लगता है कि पता ही एक रास्ता है यह एन हो सकता है जब यह सवाल पूछा गया था तब संभव हो सकता है): http://stackoverflow.com/questions/347856/zend-form-how-to-check-2-fields-are-identical/3782388#3782388 –