Форма Django не показывает ошибку валидации в шаблонах

Я пытаюсь создать страницу регистрации. Я пишу пользовательскую валидацию для поля формы регистрации. Но проблема в том, что форма не выдает ошибку валидации. Когда я пишу form.is_valid(), она показывает, что подтверждена. Я новичок в django и изучаю новые концепции. Я пытаюсь понять, что здесь не так .

Код файла Forms.py :

from django import forms
from django.core import validators

def emptyField(value):
    if value == '':
        raise forms.ValidationError("Please fill all the fields .")

def length(value):
    if len(value) > 20:
        raise forms.ValidationError("Username can contain atmost 20 characters .")

class UserForm(forms.Form):
    username = forms.CharField(required=False,validators=[emptyField,length])
    email = forms.EmailField(required=False,validators=[emptyField])
    password = forms.CharField(required=False,validators=[emptyField])
    rePassword = forms.CharField(required=False,validators=[emptyField])

Код файлаviews.py :

from django.shortcuts import render,redirect
from .forms import UserForm

# Create your views here.
def home(request):
    return render(request,"Users/home.html")

def registrationPage(request):
    if request.method == "POST":
        form = UserForm(request.POST)
        if form.is_valid():
            print("validated")
        else:
            form=UserForm()

    context = {
        "form": UserForm
    }
    return render(request,"Users/register.html",context)

код файла register.html :

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <title> REGISTRATION PAGE </title>
    </head>
    <body>
        <h1> REGISTRATION PAGE </h1>
        <form method="POST">
            {% csrf_token %}
            {{ form.username }}
            {{ form.email }}
            {{ form.password }}
            {{ form.rePassword }}
            <input type="submit" value="ADD"> 
        </form>
    </body>
</html>
{% if form.errors %}
    {% for field in form %}
        {% for error in field.errors %}
            <p> {{ error }} </p>
        {% endfor %}
    {% endfor %}
{% endif %}

вы должны включить это в свой файл шаблона

Вернуться на верх