我的RegexValidator似乎正在工作,因为如果以错误的格式输入phone_number,则不会保存该表单,但是不会显示错误消息。如果格式与正则表达式一致,则保存表格。我检查了帖子Django regex validator message has no effect并包含了code属性,但它没有任何改变。看起来有些东西丢失了,但是我不知道是什么。我的models.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:"
}
答案 0 :(得分:0)
RegexValidator(regex = regex,message =(message),)在()中创建一个类似包含消息的