Question

I am trying to get this Zend Validator to output a link that goes to a resetpass form. At the moment, it is simply outputting the HTML as text. Any ideas on how to get it writing to the page as HTML?

Thanks!

Here's my code:

    protected $_authAdapter;
    protected $_messageTemplates = array(
            self::NOT_UNIQUE => 'This email has already been registered! <a href=\'/user/resetpass/\'>Need to reset your password?</a>'
    );

    public function isValid($value, $context=null)
    {
        $value = (string) $value;
        $users = new Users(array('db' => 'tdb'));
        if($users->userExists($value)){
            $this->_error(self::NOT_UNIQUE);
            return false;
        }
        return true;
    }
}
Was it helpful?

Solution

You have to pass the configuration option 'escape' = false to the Zend_Form_Decorator_Errors().

Mostly this one is loaded automatically so then you have to request it.

$zendelement->getDecorator('Zend_Form_Decorator_Errors')->setOption('escape', false);

OTHER TIPS

On version 1.7 this is the correct way of accessing the validator and disable the escaping:

$zendelement->getDecorator('Errors')->setOption('escape', false);

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top