Opened 15 years ago
Closed 15 years ago
#12078 closed (fixed)
ValidationError(s) from specific fields not rendered on admin add/change form
Reported by: | Killarny | Owned by: | Honza Král |
---|---|---|---|
Component: | contrib.admin | Version: | soc2009/model-validation |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Description
On the admin change form, ValidationErrors raised from some fields don't render properly. The message at the top of the form displays ("Please correct the errors below.") but the html for the specific error in the field row does not display. This is a problem with only some fields, but not others. For example, a ValidationError raised from a CharField when it's max_length is exceeded displays properly, but URLField and EmailField errors do not.
How to reproduce
This issue can be reproduced with a simple project with the following changes from the generated startproject and startapp:
settings.py:
DATABASE_ENGINE = 'sqlite3' DATABASE_NAME = 'db.sqlite' INSTALLED_APPS = ( ... 'django.contrib.admin', ... 'foo', )
Uncomment the admin lines in urls.py
.
foo/models.py:
from django.db import models class Bar(models.Model): url = models.URLField() email = models.EmailField() three_letters = models.CharField(max_length=3)
foo/admin.py:
from django.contrib import admin from foo import models admin.site.register(models.Bar)
Sync the database and start the development environment, then visit http://127.0.0.1:8000/admin/foo/bar/add/ and enter values in each of the fields.
Enter valid data into the EmailField and CharField, and put "google.com" in the URLField. This should show an error along the lines of "Enter a valid URL.", but it does not.
Conversely, entering a valid url (such as "http://google.com") and putting more than the max 3 characters in the CharField will properly show an error like "Ensure this value has at most 3 characters (it has 5)."
Change History (3)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
model-validation has not been dropped, I will have a look at it. Sorry for the delay.
btw 'google.com' IS a valida value for URLField, see tests:
comment:3 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I opened this ticket two months ago, and it's still labeled "new" and "unreviewed". Is anyone watching this branch, or has model validation been dropped?