2012-03-25 4 views
0

名前、姓、電子メール、再Eメール、パスワードなどのフィールドを持つユーザー登録フォームを作成したいと考えています。入力電子メールがDjangoで等しくなるように検証する方法は?

私の質問は、どのように入力電子メールと再Eメールが等しいかを検証する方法です。グーグルたときに、私は、このサイトを見つけましたhttps://docs.djangoproject.com/en/1.4/ref/validators/

が、AlwaysMatchOtherFieldは1.4

ここの中に存在していないのでDjangoは2006年以来、たくさん変更されているようだ:ここでの検証のためのドキュメントを読むとき、私はいくつかの助けを見つけることができませんでしたあなたのフォームvalidate fields that rely on each otherを行うためのcleanメソッドを上書きすることができ、サイト http://www.b-list.org/weblog/2006/sep/02/django-tips-user-registration/

+0

ユーザは電子メールを2回入力し、正しく入力したことを確認しますか? –

+0

はい、それは正しいです – starcorn

答えて

3

です。

class MyForm(models.ModelForm): 

    def clean(self): 
     cleaned_data = super(MyForm, self).clean() 
     if cleaned_data['email'] != cleaned_data['re_email']: 
      raise forms.ValidationError("Your emails don't match") 
     return cleaned_data 

登録フォーム、あなたはここでdjango-registration

+0

ありがとう、私はそれを見てください:) – starcorn

0

を使用する必要があり、私はhttps://github.com/django/django/blob/master/django/contrib/auth/forms.pyの例以下のなかったものです:エラーを防ぐために

def clean_email2(self): 
    email = self.cleaned_data.get("email") 
    email2 = self.cleaned_data.get("email2") 
    if email and email != email2: 
     raise forms.ValidationError(
      "Your email address differs", 
     ) 
    return email2 

を、それは非常に重要です電子メールアドレスが入力されていることを確認してください。

関連する問題