Reputation: 7193
where a are standard error messages in django forms ?
And how can i use them in my custom validation ?
I mean errors like 'this field is required'
Thanks
EDIT:
currently i do this:
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
FIXED: I added:
self._errors[key] = self.error_class( [forms.Field.default_error_messages['required']])
Upvotes: 1
Views: 1640
Reputation: 62948
django.forms.fields.Field
and its subclasses have a default_error_messages
class attribute.
It's a dict with keys like required
and invalid
and the error messages as values.
django.forms.fields.Field.default_error_messages
has required
IntegerField
, FloatField
, DateField
, TimeField
each have its own invalid
.
DecimalField
has max_digits
, max_decimal_places
and max_whole_digits
etc.
Browse the source. Search the page for default_error_messages
.
If you are subclassing a Field
, you can, for example,
raise ValidationError(self.error_messages['invalid'])
In a field, error_messages
contains default_error_messages
of the field's class and its ancestors and any additional error_messages
that were passed during field initialization.
If you want to reuse a required
message outside a field, you could
from django.forms import fields
raise ValidationError(fields.Field.default_error_messages['required'])
What messages did you want to reuse?
Upvotes: 4