Джанго: как проверить полную форму - PullRequest
1 голос
/ 22 июля 2010

У меня есть форма с двумя полями для целых чисел:

class DemoForm(forms.Form):
b_one = forms.IntegerField(
    error_messages={
       'required':'Please enter a valid number.'
    },
    label = 'NumberOne',
    required = True,
    help_text = 'e.g. 266492'
)
b_two = forms.IntegerField(
    error_messages={
       'required':'Please enter a valid number.'
    },
    label = 'NumberTwo',
    required = True,
    help_text = 'e.g. 262865',
)

и я проверяю эти поля как

def clean_b_one(self):
    self.validate_form(self.cleaned_data['b_one'])

def clean_b_two(self):
    self.validate_form(self.cleaned_data['b_two'])

Теперь то, что я хочу сделать, находится в validate_form Я проверяю, существуют ли эти числа в базе данных, иначе вызывает forms.ValidationError

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

1 Ответ

1 голос
/ 22 июля 2010

Вы можете выполнить отдельную проверку поля в clean_b_one, как у вас, и увеличить ValidationError s, если что-то не подходит. Или переопределите метод clean, чтобы выполнить перекрестную проверку. Общую документацию можно найти здесь .

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