В Django, как я могу добавить ошибку формы в мои views.py? - PullRequest
0 голосов
/ 05 декабря 2010
def clean_title(self):
        title = self.cleaned_data['title']
        if len(title)  < 5:
            raise forms.ValidationError("Please write more in Title.")
        return title

В моем файле models.py, как правило, я устанавливаю ошибку в заголовке.

Однако что, если я хочу сделать это в views.py?Я хочу установить такую ​​ошибку, кроме логики моего кода.

1 Ответ

1 голос
/ 05 декабря 2010

Ошибки формы хранятся в словаре (ErrorDict из django.forms.util), который отображает имя поля в класс ErrorList.Посмотрите на метод _clean_fields - вам нужно вызвать метод формы clean(), затем удалить соответствующее поле из атрибута cleaned_data и сделать что-то вроде этого:

your_form._errors[ "your_field" ] = ErrorList( [ "Your error message" ] )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...