That's because you only have a sfFormFieldSchema in the view and you should not be able to mingle with form logic in the view!
So, this is or was a design decision of the form framework — and rightly so! Cheers, Daniel Sent from my iPad On Sep 20, 2010, at 10:29 AM, Robert Schoenthal <[email protected]> wrote: > @RAPHAEL, > > i tried it as follows: > > $widgetSchema = $this->form->getWidgetSchema(); > $validatorSchema = $this->form->getValidatorSchema(); > > unset($widgetSchema['foo']); > unset($validatorSchema['foo']); > > $this->form->setWidgetSchema($widgetSchema); > $this->form->setValidatorSchema($validatorSchema); > $this->form->resetFormFields(); > > but no, it wont work :( > > @Ryan: > > it tried it both ways, using sfFormFieldSchema::offsetUnset throws a > "read only" exception, and unset($form['foo']) simply does nothing, > the widget and validator still exists in the schemas. > > why is the sfFormFieldSchema is throwing an exception on unsetting > fields through ::offsetUnset. I think it cant be very complicated the > remove widgets and validators after instanciating? or am i missing > something fundamental? > > But i think there must be a way to achieve this, if i am able to do > "unset($this['foo']);" why not "unset($form['foo']);" and why the form > frameworks prevents it through sfFormFieldSchema::offsetUnset? > Too many questions left :( > > Greetz > Robert > > On 20 Sep., 00:04, RAPHAEL <[email protected]> wrote: >> To remove widgets from outside of the form class, one way could be: >> $widgets = $form->getWidgetFormSchema(); >> unset($widgets['myfield']); // and all other fields >> $validators = $form->getValidatorSchema(); >> unset($validators['myfield']); // and all other fields >> // maybe add, after having unset all the fields: >> $form->resetFormFields(); >> >> I think that this should work (to be verified). It is however only a >> workaround for doing it within the form class (or in a subclass of it, >> in the configure() method). >> >> The sfFormFieldSchema stuff (to which the ArrayAccess stuff in the >> form class is linked to) is a sfForms-internal thing that has is own >> rules by when its data does exists and/or is valid. The reference are >> still the widget and validator schemas. >> >> Hope that helps, RAPHAEL > > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony developers" 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/symfony-devs?hl=en -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony developers" 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/symfony-devs?hl=en
