1

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']])
4

1 回答 1

4

django.forms.fields.Field及其子类具有default_error_messages类属性。

它是一个字典,键requiredinvalid错误消息作为值。

 

  • django.forms.fields.Field.default_error_messagesrequired

  • IntegerField, FloatField, DateField,TimeField各有各的invalid

  • DecimalFieldmax_digitsmax_decimal_places并且max_whole_digits

  • 等等

浏览源。搜索页面default_error_messages

 

如果你是子类 a 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'])

 

您想重复使用哪些消息?

于 2013-04-15T14:36:59.263 回答