Архитектура обработки ошибок формы Django

В чистом методе моего класса формы я работаю со многими различными входными данными из разделов выставления счетов, контактов и учетной записи формы. Таким образом, существует множество операторов self.add_error и множество полей, которые зависят от других полей для проверки.

Я заметил, что после добавления ошибки для поля я больше не могу получить доступ к этому полю. Это странно, поскольку вы можете добавить в поле более одной ошибки, но проблема не в этом.

Я вижу, что этот метод становится все более сложным и нечитаемым, есть ли хороший способ сделать это, чтобы человек, который придет после меня, понял его? Я не думаю, что порядок кода для предотвращения доступа после ошибки является подходящим. Моя единственная мысль - установить переменные ошибок в чистоту и в конце вызвать другой метод, чтобы добавить ошибки в поля.

Спасибо

Редактировать: Чтобы добавить, я возвращаюсь только после запуска очистки, чтобы сразу дать пользователю все ошибки. Я не чувствовал, что возвращение после каждой найденной ошибки было хорошим пользовательским опытом.


person jlynn    schedule 02.02.2017    source источник


Ответы (1)


Хорошей практикой является предоставление кода, чтобы люди могли видеть, что вы делаете. Это включает в себя ваши отчеты об ошибках/информацию о трассировке. Используйте параметры уценки, чтобы сделать ваш пост более читабельным.

Я могу ошибаться, но по своему опыту я обычно очищаю каждое поле отдельно в соответствии с документацией, если только они не зависят друг от друга, например пароли и т. д.

вы можете прочитать эту часть документации, чтобы получить некоторую ясность:

https://docs.djangoproject.com/en/1.10/ref/forms/validation/#cleaning-a-specific-field-attribute

person Corey Gumbs    schedule 03.02.2017