Syntax —
field_name = models.Field (validators = [function 1, function 2])
Explanation to validating Django custom fields
Illustration of validators using an example. Consider a project named pythonengineering
that has an application named geeks
.
Refer to the following articles to check how to create a project and an app in Django.
Enter the following code into the models.py
file of the geeks application. We’ll use CharField to experiment with all the margin variations.
|
We will now apply a custom validation so that the above field is validated for Google Mail IDs only. Create a function that takes an argument named value . Now you can apply any type of operation to the value. so let’s check if our function value contains @ gmail.com to check for Google Mail IDs only.
|
Now let’s add this function as a validator in our field. Note that one validator function can be used for multiple fields at the same time.
|
Let’s try creating an instance without gmail.com and see if our check or not. Please note that after every change in models.py you need to run makemigrations and wrap the commands.
In your browser, go to at http:// localhost: 8000 / admin / geeks / geeksmodel / add / and enter "[email protected]".
Let’s check if it is saved in the database.
So the validation worked and this field can only accept email IDs ending in @ gmail. com. Thus, any kind of custom validation can be applied to value
.