Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » сгенерить и вывести ошибку для метода clean формы [RSS Feed]

#1 Март 25, 2008 16:26:57

NilovSerge
От:
Зарегистрирован: 2007-02-15
Сообщения: 83
Репутация: +  0  -
Профиль   Отправить e-mail  

сгенерить и вывести ошибку для метода clean формы

Если в форме сгенерить ошибку для метода clean то в каком елемента массива будет текст ‘UserError’ ?

    def clean_password(self):
if self.data['password'] != self.data['password2']:
raise forms.ValidationError('Passwords are not the same')
return self.data['password']

def clean(self,*args, **kwargs):
self.clean_email()
self.clean_password()
raise forms.ValidationError('UserError')
Выводя на экран весь массив {{ errors }} то вроде поле с ключам __all__ - но его на экран не выведешь…


Заранее спасибо



Офлайн

#2 Март 25, 2008 20:30:55

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

сгенерить и вывести ошибку для метода clean формы

А зачем вы явно вызываете `clean` полей?



Отредактировано (Март 25, 2008 20:49:39)

Офлайн

#3 Март 25, 2008 20:43:19

playpauseandstop
От:
Зарегистрирован: 2007-10-31
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

сгенерить и вывести ошибку для метода clean формы

class RegistrationForm(forms.Form):
    ...
    password_1 = forms.CharField(label=_('Password'), widget=forms.PasswordInput(render_value=False))
    password_2 = forms.CharField(label=_('Re-type'), widget=forms.PasswordInput(render_value=False))
    ...
    def clean(self):
        """
        Validate password_1 and password_2 values
        """
        if 'password_1' in self.cleaned_data and 'password_2' in self.cleaned_data:
            if self.cleaned_data['password_1'] != self.cleaned_data['password_2']:
                e = forms.ValidationError(_('You must type the same password each time.'))
                self._errors['password_2'] = e.messages
                raise e
        return self.cleaned_data
и как правильно заметил Daevaorn вручную вызывать clean полей совершенно не нужно… за вас это сделает Django автоматом…



Офлайн

  • Начало
  • » Django
  • » сгенерить и вывести ошибку для метода clean формы[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version