It is not perfect but I don't think it is: " Form Framework is Overengineering, Overcomplicated, Less documented"
2009/2/26 Paolo Mainardi <[email protected]> > It's sad to say, but i think that wthis Form Framework is Overengineering, > Overcomplicated, Less documented and don't take care of this basic > behaviour, this problem is an example. > > It's possible to have a complete Form Framework like this and discuss on > "*" to put on required fields ? I don't think, we have some big problems, > for Symfony 1.3 i hope for a big human refactoring of Form Framework :( > > > On Thu, Feb 26, 2009 at 11:42 AM, Tomasz Ignatiuk < > [email protected]> wrote: > >> >> It is not good solution because using css pre doesn't work in >> IE...which is used by....I don't know...50% of users? >> >> On 26 Lut, 06:58, avorobiev <[email protected]> wrote: >> > Look athttp:// >> groups.google.com/group/symfony-devs/browse_thread/thread/4c81... >> > >> > On Feb 24, 2:20 pm, Tomasz Ignatiuk <[email protected]> wrote: >> > >> > > On 16 Sty, 13:35, Thomas Dedericks <[email protected]> wrote: >> > >> > > > Hi, >> > >> > > > Not tested: >> > >> > > > public function configure() { >> > >> > > > ... >> > >> > > > # add * torequiredfields' labels: >> > > > foreach ($this->widgetSchema as $name => $widget) >> > > > { >> > > > if (isset($this->validatorSchema[$name]) && >> $this->validatorSchema[$name]->hasOption('required') && >> $this->validatorSchema[$name]->getOption('required') == true) >> > > > { >> > > > $label = ($widget->getLabel() != null) ? >> $widget->getLabel() : $name; >> > > > $widget->setLabel($label.' *'); >> > > > } >> > > > } >> > >> > > > } >> > >> > > > Thomas Dedericks >> > >> > > Unfortunatelly it doesn't work. But if you do some stuff before and >> > > with little change...it works :) >> > > 1. Required option is true as default. I don't know why it isn't set >> > > in widgetSchema. So this won't work: >> $this->validatorSchema[$name]->hasOption('required') && >> $this->validatorSchema[$name]->getOption >> > >> > > ('required') == true >> > > 2. If label is set in generator.yml, it isn't set in widgetSchema, so >> > > $widget->getLabel() != null is always null You have to set it manually >> > > in configure() >> > > 3. widgetSchema i a set of objects, not name fields, so you have to >> > > add this: foreach ($this->widgetSchema->getFields() as $name => >> > > $widget) >> > >> > > So you have to set labels for requried fields in configure() of a form >> > > and for some fields, like boolean you have to add manually required to >> > > true, like this: $this->validatorSchema['master'] = new >> > > sfValidatorBoolean(array('required' => true)); And also change this: >> > > && $this->validatorSchema[$name]->getOption('required') != false)..... >> > > required != false >> > >> > > foreach ($this->widgetSchema->getFields() as $name => $widget) >> > > { >> > > if (isset($this->validatorSchema[$name]) && >> $this->validatorSchema[$name]->hasOption('required') && $this- >> > > >validatorSchema[$name]->getOption('required') != false) >> > >> > > { >> > > $label = ($widget->getLabel() != null) ? $widget->getLabel() : >> > > $name; >> > > $widget->setLabel($label.' *'); >> > > } >> > > } >> > >> > > All in all it is faster just to add * manually for required fields: >> > > $this->widgetSchema->setLabels(array( >> > > 'logo' => 'Logo *', >> > > 'name' => 'Name *', >> > > 'master' => 'Master *', >> > > )); >> >> > > > -- > Paolo Mainardi > > Vice Presidente Assoc.ILDN (http://www.ildn.net) > Blog: http://www.paolomainardi.com > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" 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-users?hl=en -~----------~----~----~----~------~----~------~--~---
