Just do your find('list') for the select options outside of any if/else block:

public function action()
{
        if (!empty($this->data))
        {
                if ($this->Whatever->save($this->data))
                {
                        // redirect
                }
                else
                {
                        // flash msg, no redirect
                }
        }
        $this->set(
                'foods',
                $this->Food->find('list', array(...))
        );
}

This way, the only time you're not fetching the options is when you've
redirected after a successful save.

On Wed, Apr 22, 2009 at 4:52 PM, _Z <[email protected]> wrote:
>
> Hello Cake Community!
>
> I was wondering if there is a standard approach to maintaining drop
> down menus within a view when the submitted data does not pass
> validation (in the model.)
>
> For example, I have a dropdown menu of foods and other fields within a
> view.
> When submitted, the data does not pass validation, and an error
> message is displayed in the view.
>
> Instead of showing the drop down menu, all that is displayed is the id
> of the selected food.
>
> Does anyone have a good way of maintaining this drop down data in an
> error condition when validating from the model ?
>
> Thank you!
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to