Есть форма, связанная с моделью:
Импортировал import re и from django.core.exceptions import ValidationError
Добавил валидатор
Валидатор не срабатывает и не выводит никаких ошибок
На страницу вывожу вот так
Python:
class paidparkingForm(forms.ModelForm):
class Meta:
model = paidparking
fields = ['adress','carnumber','amountoftime', 'price', 'email','telephone', 'startofvalidityperiod', 'expirationdate']
widgets = {
'adress': forms.Select(attrs={"class": "form-control form", "id": "exampleFormControlSelect1"}),
'carnumber': forms.TextInput(attrs={"class": "form-control form-control-lg form"}),
'price': forms.NumberInput(attrs={"class": "form-control form-control-lg form", "readonly": 0}),
'email': forms.EmailInput(attrs={"class": "form-control form-control-lg form"}),
'telephone': forms.TextInput(attrs={"class": "form-control form-control-lg form"}),
}
Добавил валидатор
Python:
def clean_telephone(self):
telephone = self.cleaned_data['telephone']
if re.match('^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$', telephone):
raise forms.ValidationError('Телефон должен иметь формат 891665283219')
return telephone
На страницу вывожу вот так
Python:
<div class="form-group">
<h5>Номер телефона</h5>
<label for="{{ formparking.telephone.id_for_label }}"></label>
{{ formparking.telephone }}
<div class="invalid-feedback">
{{ formparking.telephone.errors }}
</div>
</div>