проверка формы django: проверка начальных значений - PullRequest
1 голос
/ 20 января 2011

У меня есть форма Django (формы. Форма). Каждое и каждое поля формы имеют начальные значения, такие как,


class SomeForm(forms.Form):
  city = forms.CharField(initial="Your city here")


Когда кто-то публикует эту форму без изменения начального значения (т. Е. Без ввода чего-либо в качестве города, поле города будет «Ваш город здесь»). form.is_valid () не вызывает ошибку проверки. Можно ли как-то сделать проверку неудачной? Доступен ли какой-либо встроенный метод / свойство, которое я могу вызвать / установить для проверки правильности формы? Или я должен вручную проверить это?

1 Ответ

7 голосов
/ 20 января 2011

Вам придется вручную выполнить проверку с использованием форм Django clean_fieldname следующим образом:

class SomeForm(forms.Form):
    city = forms.CharField(initial='Your city here')

    def clean_city(self):
        city_name = self.cleaned_data['city']
        if city_name in ['Your city here']:
            raise forms.ValidationError('Enter a city name.')
        return city_name

Если вы используете Django 1.2 или более поздней версии, пользовательские валидаторы стоило бы усилий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...