Сообщение о валидаторе Django не отображается - PullRequest
0 голосов
/ 27 августа 2018

мой RegexValidator, похоже, работает, потому что если номер_телефона введен в неправильном формате, форма не сохраняется, но сообщение об ошибке не отображается.Если формат соответствует регулярному выражению, то форма сохраняется.Я проверил сообщение Сообщение валидатора Django regex не имеет никакого эффекта и включил атрибут кода, но это ничего не изменило.Похоже, что-то не хватает, но я не могу понять, что. Мои модели.py и forms.py ниже:

#models.py
from django.db import models
from django.core.validators import RegexValidator

class Notification(models.Model):
    sender = models.EmailField(max_length = 100)
    status = models.CharField(max_length = 50)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
    message_info = models.TextField(max_length = 1000)

    def __str__(self):
        return self.message_info[:100]

class ScheduleNotification(Notification):
    company = models.CharField(max_length = 50)
    phone_regex = RegexValidator(
        regex=r'^\+?1?\d{9,15}$',
        message="Phone number must be entered in the format: '+79999999999'. Up to 15 digits allowed.",
        code="invalid")
    phone_number = models.CharField(validators=[phone_regex], max_length=17, blank=False)

    def __str__(self):
        return self.sender

#forms.py
from django import forms
from .models import Notification, ScheduleNotification
...
class ScheduleNotificationForm(forms.ModelForm):
    class Meta:
        fields = ['sender', 'company', 'phone_number', 'message_info']
        labels = {
            "sender": "your email:",
            "company": "your company:",
            "phone_number": "your mobile:",
            "message_info": "type your message:"
        }
...