我创建了这样的模型
class Users(models.Model):
alpha_field = RegexValidator(regex=r'^[a-zA-Z]+$', message='Name can only contain letters')
username = models.SlugField(max_length=50, unique=True)
first_name = models.CharField(max_length=50, verbose_name='first Name', validators=[alpha_field])
last_name = models.CharField(max_length=50, validators=[alpha_field])
password = models.SlugField(max_length=50)
我用它制作了一个表格,我想提出自己的错误信息 .
class UsersForm(forms.ModelForm):
class Meta:
model = Users
widgets = {'password':forms.PasswordInput()}
def __init__(self, *args, **kwargs):
super( UsersForm, self ).__init__(*args, **kwargs)
self.fields[ 'username' ].widget.attrs[ 'placeholder' ]="Username"
self.fields[ 'first_name' ].widget.attrs[ 'placeholder' ]="First Name"
self.fields[ 'last_name' ].widget.attrs[ 'placeholder' ]="Last Name"
self.fields[ 'password' ].widget.attrs[ 'placeholder' ]="Password"
self.fields['first_name'].label='first Name'
self.fields['first_name'].error_messages = {'required': 'First Name is Required'}
如您所见,如果未填写first_name字段,我已经创建了错误消息 . 但是,我知道CharField可以引发更多错误消息(例如,如果提交的first_name大于max_length) . 我想为每个可能出现的错误消息提供自定义错误消息 . 有没有一个地方可以看到CharField表单可以引发的所有可能错误消息的列表?
此外,我在first_name中的详细名称不起作用,如果我可以获得详细的名称,我将不需要为错误消息创建自定义消息 . 请注意,我已经创建了一个关于verbose_name无法正常工作的线程,但我仍然没有弄清楚它无法正常工作的确切原因 . 如果verbose_name可以开始工作,那就太好了 . 这是线程的链接:
1 回答
以下是每个字段的所有默认错误消息密钥的文档:https://docs.djangoproject.com/en/dev/ref/forms/fields/#built-in-field-classes也许下次尝试使用Google搜索?