-- chinaski <[EMAIL PROTECTED]> wrote
(on Tuesday, 07 October 2008, 10:08 AM -0700):
>
> I'm getting validation errors on a select form element that I can't track
> down at all.
>
> Here's the form element created in form sub-class:
>
>
> //softwarelist
> $software_source = $this->createElement('select','software_source');
>
> $software_source->setLabel('Add Software Title to List:')
> ->setIsArray(true);
> $software_target = $this->createElement('select','software_target');
> $software_target->setLabel('Suite Software')
> ->setIsArray(true)
> ->addValidator('NotEmpty',true)
> ->addValidator('Int')
> ->setRequired(true)
> ;
>
> Note that there is no InArray check on the software target element.
An InArray validator using the MultiOptions passed to the element is
registered by default; if you don't want this behaviour, call:
$element->setRegisterInArrayValidator(false);
This behavior was added in 1.6.0.
> In the controller, I do something like,
>
> if ($this->_request->isPost()) {
>
> $form_data = $this->_request->getPost();
>
> if ($form->isValid($form_data)) {
> //process the form...
> } else {
> //handle errors
> }
>
> When the form is submitted, the form never validates. If I do a
> print_r($form->getErrors()) in the "//handle erorrs" logic above, I get the
> following:
>
> [software_target] => Array ( [0] => notInArray )
>
> The software_target error array has an entry for each selected item.
>
> How can the software_target element throw this error if it doesn't have the
> validator attached to it? Pulling my hair out...
>
>
> --
> View this message in context:
> http://www.nabble.com/zend_form-mystery-validation-driving-me-nuts-tp19862848p19862848.html
> Sent from the Zend Framework mailing list archive at Nabble.com.
>
--
Matthew Weier O'Phinney
Software Architect | [EMAIL PROTECTED]
Zend Framework | http://framework.zend.com/