1

Я использую Django's ModelForms и хотел бы иметь валидацию для обеих моделей и форм. Я рендеринг формы с помощью:Какое место следует поставить для проверки ModelForm?

{{ form.as_table }} 

Какого правильное место поставить проверку на основе каждого поля (например, формы clean_fieldname) и в целом (например, форма clean)?

Я хотел бы свести к минимуму количество написанного кода и не писать одинаковые валидаторы дважды (в обеих моделях и формах). Кроме того, я бы хотел, чтобы ошибки проверки поля были показаны в правильном поле формы, а не все ошибки, помещенные поверх формы (поэтому не все проверки в моделях «чисты»).

ответ

3

Возможно, вы захотите использовать пользовательский validators, представленный в Django 1.2.

Не забывайте, что, если вы не используете ModelForm, вы должны явно выполнить проверку модели с помощью вызова метода full_clean() в экземпляре модели.

Смежные вопросы