-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 mintao escribió: > I have an input field for an URL. > When the form is submittet I'm using sfValidatorDoctrineUnique for > this field. But BEFORE the validation I'd like to manipulate the url > (host name to lower case, cut off any query strings). > > Imagine the url "http://www.test.com/mysite" is already in the > database. > When a user tries to submit the following url "http://www.Test.com/ > mysite/?q=foo" I'd like sfValitatorDoctrineUnique to recognize it as a > unique violation. > > What can I do? > > You might:
a) use sfValidatorCallback instead of sfValidatorDoctrineUnique and in the callback function you could clean $value and then return whatsoever sfValidatorDoctrineUnique returns for that clean input. Could be something like this: [php] // In your form's configure() method // ... $this->setValidator('url', new sfValidatorCallback(array( 'callback' => array($this, 'validateUrl'), 'required' => true ))); //... // Outside configure(), declare the callback method public function validateUrl($validator, $value, $arguments) { // Clean $value $clean_value = clean($value); $v = new sfValidatorDoctrineUnique(array( 'model' => 'MyModel', 'column' => 'url' )); return $v->clean($clean_value); } [/php] b) Implement your own sfValidatorBase subclass for doing pretty much the same, but with the benefit of code reuse and modularization. Hope this helps. - -- José Nahuel Cuesta Luengo Desarrollo | CeSPI - UNLP <ncue...@cespi.unlp.edu.ar> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkqV1QkACgkQ2jTpOyePgAFtMwCfdbql1LtUoHPOU6W20xOtlJWl mz4AoIquBTvQF3bve3uvstWLk8W+T+Na =DcGt -----END PGP SIGNATURE----- --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---