django 表单中的标准错误消息在哪里?
我如何在我的自定义验证中使用它们?
我的意思是像“这个字段是必需的”这样的错误
谢谢
编辑:
目前我这样做:
def clean(self):
cleaned_data = super(QuoteForm, self).clean()
country = cleaned_data['country']
for key in COUNTRY_FIELDS[country]:
if cleaned_data[key] == '':
self._errors[key] = self.error_class(_('This field is required'))
return cleaned_data
固定: 我补充说:
self._errors[key] = self.error_class( [forms.Field.default_error_messages['required']])
最佳答案
django.forms.fields.Field
及其子类有一个 default_error_messages
类属性。
它是一个字典,包含诸如 required
和 invalid
之类的键以及作为值的错误消息。
django.forms.fields.Field.default_error_messages
需要
IntegerField
、FloatField
、DateField
、TimeField
每个都有自己的invalid
.DecimalField
有max_digits
、max_decimal_places
和max_whole_digits
等等
Browse the source .在页面中搜索 default_error_messages
。
如果您要对 Field
进行子类化,例如,您可以
raise ValidationError(self.error_messages['invalid'])
在字段中,error_messages
包含字段类及其祖先的 default_error_messages
以及在字段初始化期间传递的任何其他 error_messages
。
如果你想在字段外重用一个required
消息,你可以
from django.forms import fields
raise ValidationError(fields.Field.default_error_messages['required'])
您想重复使用哪些消息?
关于python - 标准 django 表单错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16017766/