我试图自定义用户输入的文本长度超过模型中CharField的最大长度时显示的错误消息。该模型定义的字段,如下所示:Django - 更改CharField TextInput上的max_length错误消息
name = models.CharField(max_length=200)
我对这个模型定义表单字段,如下一个的ModelForm:
name = forms.CharField(widget=forms.TextInput(attrs={'class':"span8", 'placeholder':'e.g. How do I setup a wi-fi network? How to sync my iPhone with iCloud?'}),
error_messages={'required': 'Please enter a question.', 'max_length': 'Your question is too long.'})
也能正常工作的“必要”的错误消息,但'max_length'错误消息在这里仍然使用Django的默认消息。我是否做错了或者应该以其他方式定制这些文字?
这有效,但在模型中的名称定义之后。我试图把它放在ModelForm中的名称定义之后,但在那个时候name.validators是一个空列表。 –
@JamieForrest验证器只适用于'form.CharField'不具有'None'' max_length'。你可以在验证程序中检查'isinstance(validator,MaxLengthValidator)'而不是硬编码的'[-1]' – okm