documentation talks about validators but separates definition and usage
|Reported by:||Owned by:||benhuckvale|
|Cc:||Daniele Procida||Triage Stage:||Accepted|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The top of the page deine a validator, the answer, but not the section about the validators.
This is at the top:
""" Validators are simple functions (or callables) that take a single argument and raise ValidationError on invalid input. Validators are run after the field’s to_python and validate methods have been called. """
This is the section about validators (middle of the page):
Django’s form (and model) fields support use of simple utility functions and classes known as validators. These can be passed to a field’s constructor, via the field’s validators argument, or defined on the Field class itself with the default_validators attribute.
Simple validators can be used to validate values inside the field, let’s have a look at Django’s SlugField:
from django.forms import CharField
from django.core import validators
default_validators = [validators.validate_slug]
As you can see, SlugField is just a CharField with a customized validator that validates that submitted text obeys to some character rules. This can also be done on field definition so:
slug = forms.SlugField()
is equivalent to:
slug = forms.CharField(validators=[validators.validate_slug])
I think a simple example of a validator would be a nice thing to add. Or at least provide a link to the source code of the validator showcased.
This is from the 1.6 and (at the time), dev version too:
Change History (7)
comment:1 Changed 3 years ago by
|Patch needs improvement:||unset|
|Triage Stage:||Unreviewed → Accepted|
|Type:||Bug → Cleanup/optimization|