-- Mark Wright <[EMAIL PROTECTED]> wrote
(on Saturday, 12 April 2008, 07:37 PM -0600):
> I've recently started using Zend_Form and like it quite a bit, but I
> am having issues with setting values for form elements. I like
> extending Zend_Form and creating the form in the init method, but if I
> am creating a form where people can edit information that is already
> in the database I don't see a good way to pass that information to the
> form class. I could just use isValid to populate it, but that doesn't
> seem right since I don't actually want to validate anything. After
> all, if the data already exists it should be valid. It seems that a
> setValues method would be better but I don't see any such method.
> 
> What I'm considering is adding a static variable to my form classes
> which will contain the data and a static method which I would pass
> that data to. That method would then set the variable and instantiate
> the class. When setting the form elements in the init method it would
> check if values exist in the variable and use them. Then the method
> would return the form class instance. I think this is a fine work
> around, but I think it would be better if Zend_Form had a method that
> could set all values without having to validate it as well.
> 
> So basically, I am looking to do something like this:
> 
> $formObj = Form::getForm($arrayOfValues);
> 
> When I would rather do this:
> 
> $formObj = new Form;
> $formObj->setValues($arrayOfValues);
> 
> Am I missing something or does that functionality just not exist?

Umm -- setDefaults() and populate() do exactly this already... ;-)

-- 
Matthew Weier O'Phinney
Software Architect       | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/

Reply via email to