Thanks Karen! Django 1.0 Web Site Development book (code example is from that book) has following paragraph: "By specifying correct field types in our form, we don't have to implement any additional input validation. For example, Django will automatically make sure that the user enters a valid URL because the corresponding field is defined as models.URLField."
So book has error, at least for Django 1.2 On Jun 16, 7:53 pm, Karen Tracey <kmtra...@gmail.com> wrote: > On Wed, Jun 16, 2010 at 1:29 PM, aurel...@gmail.com <aurel...@gmail.com>wrote: > > > Hi, > > > I have a model with URLField. Parmether verify_exists is set to True, > > but when I enter url that does not exists (e.g.http://foobarbarfoo.com, > > orhttp://www.google.com/foobar) they somehow manage to get to the > > DB. > > > Should model report error? Or I do not understand docs: "If True (the > > default), the URL given will be checked for existence (i.e., the URL > > actually loads and doesn't give a 404 response)." on > >http://docs.djangoproject.com/en/dev/ref/models/fields/#urlfield > > This checking is done either when a ModelForm based on the model is used, or > when full_clean() on a model instance is called. In the code you show you do > neither of these things. You have created a regular Form with URLField, but > when you create this form field you do not specify verify_exists=True. So > when is_valid() is called on that form, it returns True even when the > specified URL does not exist, because cleaning the form URL field does not > check for the existence of the URL, since the form does not ask for that. > Then the data from the cleaned form is used to create a model instance, but > full_clean() is not called before saving that instance, so again the > validation is bypassed. Easiest fix is to specify verify_exists on your > form's URLField. > > Karen > --http://tracey.org/kmt/ -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.