Проверка формы с помощью django 1.2 GAE - PullRequest
0 голосов
/ 16 апреля 2011

Как добавить проверку формы и желательно с локализацией i18n? Я попытался что-то вроде следующего, который не работает и должен импортировать Validationerror

class AForm(djangoforms.ModelForm):

  def clean_name(self):
      value = self.data['name']

      if not value:
        raise ValidationError("No name.")
        return self.data['name']

  def clean_email(self):
      pass

Если я заставлю его работать, могу ли я вызвать локализованную ошибку ValidationError, как это?

ValidationError(_("No name."))

1 Ответ

2 голосов
/ 16 апреля 2011

Я не использовал движок приложений Google, поэтому пути импорта, вероятно, неверны, но шаблон, который я использовал ранее со стандартным Django, выглядит так:

from django import forms
from django.utils.translation import ugettext_lazy as _

class AForm(forms.ModelForm):

    def clean_name(self):
        # Get the value from the cleaned data.
        value = self.cleaned_data['name']

        # Check it exists.
        if not value:
            raise forms.ValidationError(_("No name."))

        # Return the (now validated) value.
        return self.data['name']

См. документы по проверке поля для получения дополнительной информации.

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

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