Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaRkShAfT

Zend_Form Validator

Recommended Posts

Oi,

 

Estou tentando colocar um validator identical para confirmar a password, mas parece que isto não funciona!

 

O que eu coloquei no campo para confirmar a password foi o seguinte:

 

$confirmPswd = $this->createElement( 'password', 'confirm_pswd' );
$confirmPswd->setLabel( 'Confirmar Password:' );
$confirmPswd->setAttrib( 'size', '30' );
$confirmPswd->setRequired( TRUE );
$confirmPswd->addValidator( 'Identical', false, array( 'token' => 'password' ) );
$confirmPswd->addErrorMessage('The passwords do not match');
$this->addElement( $confirmPswd );

 

Estou a fazer alguma coisa mal? <_<

 

[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confirme se o name do seu primeiro campo de senha esta sendo informado corretamente no token.

 

$inputPswd = $this->createElement( 'password', 'ds_pass' );

...

$confirmPswd->addValidator( 'Identical', false, array( 'token' => 'ds_pass' ) );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confirme se o name do seu primeiro campo de senha esta sendo informado corretamente no token.

 

$inputPswd = $this->createElement( 'password', 'ds_pass' );

...

$confirmPswd->addValidator( 'Identical', false, array( 'token' => 'ds_pass' ) );

 

Oi, sim está correcto..

 

Eu já tentei fazer um teste e acho que é por essa causa que isto não funciona...

 

Se eu fizer echo $classForm->getValue('password'); antes do seguinte código:

 

if ($this->_request->isPost() && $classForm->isValid($_POST)) {
...
}

 

ele não escreve valor nenhum... :ermm:

 

supostamente se ele tentar sacar o valor do campo da mesma maneira, não vai conseguir... será necessário requisitar directamente a $_POST['password']...

 

não sei como funciona, mas uma coisa também é certa, se eu não escrever em ambos os campos a validação do token era para estar ok visto que '' == '' :P e não, ele dá sempre The passwords do not match!

 

[]

 

Na realidade isto funciona:

 

$confirmPswd->addValidator( new Zend_Validate_Identical( $_POST['password'] ) );

 

mas da outra forma era para funcionar também...

 

[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.