That worked ! I like that solution much better too! Thanks for your help.
Rob On Feb 14, 2:14 pm, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: > On Thu, 2008-02-14 at 10:54 -0800, robstar wrote: > > Thanks Malcolm, I'll try it out. > > > Some of this feels kind of hack'ey .... what's the correct, clean way > > to do this kind of processing with newforms?? > > Putting an error against two fields simultaneously isn't a very normal > practice. You're doing something that the class isn't really designed > for, so you're going to have to work with the internals. No way around > that. Normally, errors go against a single field (via a clean_FOO() > method) or against the form as a whole (via Form.clean()). > > Still, it's not impossible to directly modify self._errors directly. You > have access to it. > > In your case, I'd probably structure things a bit differently. > > For example, presumably "imghash" is a hidden field. So validate that > early in the form, then put in a clean_captcha() mtehod to validate the > captcha field. Once a field is validated correctly, it will be in > self.cleaned_data for later fields to access, so clean_captcha() can > work with self.cleaned_data['imghash'] (testing if it exists first). I > don't see why you have to do the captcha validation in the clean() > method for the form. > > Similarly, you could consider either putting the "passwords do not > match" error against the form itself (so it will appear at the top), or > writing a clean_password2() method that puts the error against > "password2". After all, an error that says "this password field doesn't > match that one" is going to be pretty clear to the user. Password fields > like this are the one case where I've personally dived into self._errors > in the clean() method, because I wanted to highlight both fields in the > error style when the form was printed out (I was doing some custom > presentation stuff to make that happen). Just accept that it's a > slightly unusual case and use the structure you've got available (i.e. > modify self._errors if you like). > > Malcolm > > -- > The cost of feathers has risen; even down is > up!http://www.pointy-stick.com/blog/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django 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/django-users?hl=en -~----------~----~----~----~------~----~------~--~---

