-- pakmannen <[EMAIL PROTECTED]> wrote
(on Wednesday, 18 June 2008, 04:03 PM -0700):
> Just started working with Zend_Form and I'm liking it so far. One thing I'm
> wondering about though, which came up when I was working with a login form
> using Zend_Auth. It would be great if there was a method for adding error
> messages to an element with a public method. 

Couple of notes. First, I wrote up an example for exactly this situation
on my blog some months ago:

    
http://weierophinney.net/matthew/archives/165-Login-and-Authentication-with-Zend-Framework.html

In that article, I suggest using the form's Description along with a
Description decorator for displaying an "invalid credentials" message.

Second, there have been requests for an error message mutator in
Zend_Form/Zend_Form_Element, and I hope to have time to do this for the
1.6 release.

> This example should explain it
> pretty well:
> 
> // Execute authentication and save the result
> $result = Zend_Auth::getInstance()->authenticate($adapter);
> 
> // Handle authentication results
> switch ($result->getCode()) {
>     case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND:
>         $form->getElement('username')->addError('The supplied username is
> invalid');
>         break;
>     case Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS:
>         $form->getElement('username')->addError('The supplied username is
> not unique');
>         break;
>     case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID:
>         $form->getElement('password')->addError('The supplied password is
> invalid');
>         break;
>     case Zend_Auth_Result::SUCCESS:
>         $this->_helper->Redirector('index', 'index');
>         break;
> }
> 
> Thank you for an otherwise excellent component!

-- 
Matthew Weier O'Phinney
Software Architect       | [EMAIL PROTECTED]
Zend Framework           | http://framework.zend.com/

Reply via email to