Si llevas razon, es que yo habia echo una cosa asi
Código PHP:
Ver originalstatic function CheckEmailSpecial($email, $option){
y lo que claro lo que pasa es que la variable option la envia en el tercer parametro... Es decir si yo pongo lo que me has dicho
Código PHP:
Ver originalstatic public function checkEmailSpecial()
{
return false;
}
Me sale un array de 3 elementos el primero es el elemento value, es decir el email, el segundo son la variable de cada formulario y el tercero es la varible $option...
Ahora tengo otra duda que no se como resolver
Código PHP:
Ver original...
class FormExCustomerAccount extends Form{
public function init()
{
$element = new Element\Password('cu_password1');
$element->setLabel('Password1')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty')
->addValidator('stringLength', false, array(2, 20)); $this->addElement($element);
//identical le pasamos un array con el token a identificar en este caso el valor de la variable password
$element = new Element\Password('cu_password2');
$element->setLabel('Password2')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty')
->addValidator('identical', false,array( 'token' => 'cu_password1',
'notSame' => 'Passwords are not the same',
'missingToken' => 'Problems')))
->addValidator('stringLength', false, array(2, 20)); $this->addElement($element);
$element = new Element\Text('userid');
$element->setLabel('User id');
$this->addElement($element);
$option=$this->getElement('userid')->getValue();
$element = new Element\Text('cu_email');
$element->setLabel('Email')
->setRequired(true)
->addValidator('emailAddress')
->addValidator('Callback', true, array( 'callback' => array(new CustomerLogic
(), 'CheckEmailSpecial'), 'callbackOptions'=> $option,
'callbackValue' => 'There is other customer with this email',
'callbackInvalid' => 'There is a problem in the system')));
$this->addElement($element);
}
}
?>
Como hago para meter la variable de userid en opciones, no se como meterlo utilizo $this->getElement('userid')->getValue(), pero no funciona sabrias como puedo decir que el parametro $option de la funcion callback es otro elemento de mi formulario...
Gracias