Ben UniqueEmail validator çalışma almak için çalışıyorum ama benim onaylayıcısı tetiklenir asla görünüyor.
Bu benim şeklidir:
class EventManager_Form_User_Base extends SF_Form_Abstract{
public function init(){
$this->addElementPrefixPath(
'EventManager_Validate',
APPLICATION_PATH . '/modules/eventManager/models/validate',
'validate'
);
(...)
$this->addElement('text','usr_email', array(
'filters' => array('StringTrim', 'StringToLower'),
'valdators' => array(
array('StringLength',true,array(3,128)),
array('EmailAddress'),
array('UniqueEmail', false, array(new EventManager_Model_User())),
),
'required' => true,
'label' => 'email',
));
(...)
}
}
Ve burada benim validator olduğunu
class EventManager_Validate_UniqueEmail extends Zend_Validate_Abstract{
const EMAIL_EXISTS = 'emailExists';
protected $_messageTemplates = array(
Self::EMAIL_EXISTS => 'Email "%value%" already exists in our system',
);
public function __constructs(EventManager_Model_User $model){
$this->_model = $model;
}
public function isValid($value,$context = null){
$this->_setValue($value);
$currentUser = isset($context['usr_id']) ? $this->_model->getUserById($context['user_id']) : null;
$user = $this->_model->getUserByEmail($value, $currentUser);
if(null === $user){
return true;
}
$this->_error(self::EMAIL_EXISTS);
return false;
}
}
Ben satır eklediğinizde
var_dump($value); exit;
sonra benim isValid () fonksiyonunun ilk satırında ve benim formu çalıştırın. Daha sonra kod sadece çalışır ama benim onaylayıcısına içine almak için değil gibi görünüyor.
Ben zf 1.10.1 herhangi bir fikrin / önerileri çalıştırıyorum?