7

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;
    }
}
Charles
  • 50,943
  • 13
  • 104
  • 142
Nicky Hajal
  • 1,584
  • 1
  • 15
  • 23
  • 1
    For checking if a value exists in a database, there is already Zend_Validate_Db_NoRecordExists and Zend_Validate_Db_RecordExists by the way. – Bittarman Jul 29 '09 at 15:28

2 Answers2

6

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

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

Fredcallagan
  • 61
  • 1
  • 1
5

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);
Peter Smit
  • 27,696
  • 33
  • 111
  • 170