Валидация поля pan_no в django Template

Привет всем я пытаюсь проверить pan_no заполненный с помощью re в шаблоне django это работает, но когда поле пустое то все равно показывает недействительный pan no, я пытаюсь решить эту проблему если поле пустое то не проверять валидацию. пожалуйста помогите мне.

models.py

class Pan(models.Model):
    pan_no = models.CharField(max_length=10, null=True, blank=True)

forms.py

class PanForm(forms.Form):
    pan_no = forms.CharField(label='Pan Card Number', max_length=10, required=False)
    
    # validate pan_no if field is not none
    
    def clean_pan_no(self):
        pan_no = self.cleaned_data['pan_no']
        if pan_no is not None:
            if not re.match(r'^[A-Z]{5}[0-9]{4}[A-Z]{1}$', pan_no):
                raise forms.ValidationError('Invalid PAN number.')
        return pan_no

views.py

def panview(request):
    if request.method == "POST":
        form=PanForm(request.POST)
        if form.is_valid():
            pan_no=form.cleaned_data['pan_no']
            form.save()
            messages.success(request, 'success')
            return redirect("driver_test")
    context{
     'form': form,
    }
    return render(request, 'pan_no.html',context=context)
Вернуться на верх