Hi I just ran into the same problem, and while I found the solution in this discussion, I think it is not clear enough, so let me repeat briefly, in case anyone comes across this in the future:
like Richtermeister says, the problem can be solved by adding a _uniques key to the schema, and using the auto-generated from. If you do not want to do this, for some reason, you need to add the primary key of the model to the from as a hidden field, if you are using it for update actions, like this: $this->setWidgetSchema( new sfWidgetFormSchema( array( "id" => new sfWidgetFormInputHidden(), ... ) ) ); and: $this->setValidators( array( "id" => new sfValidatorPropelChoice( array( "model" => "Member", "column" => "id", "required" => false ) ), ) ); so basically you are passing the primary key as a hidden value. This seems odd, because the form will know the difference between insert and update and behave correctly without doing this, yet somehow the sfValidatorPropelUnique doesn't. best wishes Stefan > On Sep 12, 7:09 pm, Richtermeister <nex...@gmail.com> wrote: > > > Hey Ben, > > > no, your first version is right. You only need to pass model and > > column. > > The object that your form is updating needs to have a primary key set > > though, in order to be considered anupdate. otherwise it will be > > considered new and theupdatewill fail. > > > In the most basic propel form setup none of this should be an issue, > > since auto-generated forms are doing this just fine by themselves. Try > > adding a _uniques: key to the schema and add your field there, this > > will build the post validator straight into your base form. > > > Or post your entire configure/setup function if nothing else helps :) > > > Have a great day, > > Daniel > > > > > On Mar 11, 3:50 am, Benjamin <agtle...@gmail.com> wrote: > > > > > > > The code is below. I have been searching for hours. This is > > > > > > failing > > > > > > on updates, saying that the user name has already been taken. It's > > > > > > being used as a post validator. > > > > > > > newsfValidatorPropelUnique( > > > > > > array( > > > > > > 'model' => 'Members', > > > > > > 'column' => array('user_name'), > > > > > > ), > > > > > > array( > > > > > > 'invalid' => 'This user name has already been taken', > > > > > > )), --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---