Thanks kris and marijn, That's just another two ways to skin a cat. I was trying raise the argument, however, that intuively if I disable a widget using the disabled attribute symfony should consider that in $this- >getValues().
I think Adam had a similar experience but in his case he should use $this->offsetUnset. Olmo On Sep 20, 8:26 am, Kris Wallsmith <[EMAIL PROTECTED] project.com> wrote: > Hi Olmo, > > Take a look at the sfValidatorCallback class. Using this, you should > be able to create a callback that always returns the widget's default > value, rendering the field uneditable. > > Kris > > On Sep 19, 2008, at 3:07 PM, Marijn Huizendveld <[EMAIL PROTECTED] > > > wrote: > > Hi Ibolmo, > > > You can just do this in your forms doSave() method: > > > $values = $this->getValues(); > > > unset($values['yourFieldName']); > > > $this->values = $values; > > > Does that answer your question? > > > Marijn > > > On Sep 19, 2008, at 11:56 PM, ibolmo wrote: > > >> Pardon the trace error is > >> here:http://pastie.org/private/o9pryue9tkjhqx5csppa > > >> On Sep 19, 2:55 pm, ibolmo <[EMAIL PROTECTED]> wrote: > >>> I've tried the following:http://pastie.org/private/mdbttlrv8yf7lxiz6zvs9g > > >>> Basically, I don't want my participants to change their email. So > >>> I've > >>> disabled the field. > > >>> Since it's disabled, PHP will not set the key/value in the > >>> response to > >>> a null value. > > >>> I was expecting that Doctrine would only update the $taintedValues, > >>> but I noticed a trace error from the Database due to > >>> invalidation:http://pastie.org/pastes/new > > >>> I assumed it to be a problem with Doctrine, but then I realized that > >>> it's a behavioral problem with sfForms. > > >>> The problem lies in $this->getValues(). > > >>> getValues will return an array of all the validators in the > >>> validatorSchema and thusly will include 'email_address' => null > >>> since > >>> truthfully the form does not include the email_address (since it was > >>> disabled). > > >>> Correspondingly, I've updated the code to the > >>> following:http://pastie.org/private/jcrarwmnc8uvcidmiegda > > >>> Effectively, I unset the validator and now $this->getValues() does > >>> not > >>> include the email address. > > >>> I feel like the sfForm should have a better way to handle this > >>> behavior. In particular, it should either: > >>> 1. notice that a field is disabled, and such the validator is > >>> disabled (or unset) > >>> 2. should have a function similar to offsetUnset -- perhaps > >>> offsetDisable > > >>> I'd like to hear your opinion on this behavior issue -- or if in > >>> fact > >>> it is an issue. > > >>> Olmo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
