我想覆盖默认验证错误。我的自定义消息需要诸如用户输入长度之类的信息 - 就像默认消息一样。
如何在邮件中添加length
等变量?
我试过这段代码:
class MyForm(ModelForm):
class Meta:
model = MyModel
fields = ['myfield']
error_messages = {
'myfield': {
'required': 'My error',
'min_length': _(u'You wrote only %(length)d chars'),
'max_length': _(u'You wrote %(length)d chars - too much.'),
},
}
我得到错误:
KeyError at /
u'length'
答案 0 :(得分:1)
min_length
适用于django.core.validators.MinLengthValidator
,其默认消息为:
message = _('Ensure this value is %(limit_value)s (it is %(show_value)s).')
和params:
params = {'limit_value': self.limit_value, 'show_value': cleaned}
因此,请尝试将'length'
更改为'show_value'
。