Ответ 1
Новое в Django 1.7 - Form.add_error( field, message )
.
https://docs.djangoproject.com/en/dev/ref/forms/validation/#form-field-default-cleaning
Я пытаюсь установить полевые ошибки в форме clean(), и я сейчас делаю:
self._errors['address'] = self._errors.get('address', ErrorList())
self._errors['address'].append(_(u'Please specify an address.'))
Есть ли лучший и, если возможно, более короткий метод для этого?
Новое в Django 1.7 - Form.add_error( field, message )
.
https://docs.djangoproject.com/en/dev/ref/forms/validation/#form-field-default-cleaning
Возможно, это поможет вам. В общем, вы предпочитаете, чтобы вы переопределяли чистоту и внутри функции, которую вы могли бы выполнить, следуя
Если вы хотите поднять конкретные ошибки, которые вы могли бы сделать, выполните следующие действия.
self._errors["field"] = ErrorList([u"Error"])
это означает, что вы получите класс ошибок
если у вас есть не-полевая ошибка, вы можете просто поднять ошибку проверки таким образом
raise forms.ValidationError(_("Error"))
Надеюсь, это поможет.
raise ValidationError(message)
.clean_<fieldname>()
, clean_address
в вашем случае. ValidationError
, поднятый в таком методе, будет прикреплять сообщение об ошибке к определенному полю. Один, поднятый из clean()
, будет отнесен к модели в целом.