2013-05-15 25 views
1

我正在學習Django,看着django驗證,但下面的類型我want.searched在谷歌沒有結果。如何在django驗證號碼

在我的應用程序,它們是兩個字符字段,我希望它被驗證,以便conditons是,

1.Either是進入這一領域的任何一個。

2.它應該驗證輸入的數據是整數。

這意味着,這兩個字段都不是強制性的,但任何一個都是強制性的,並且強制性字段只應接受數字。

如何在django中做到這一點。

+0

你可以在窗體的清潔方法 – karthikr

+0

驗證它,所以,如何根據我的以上情況驗證空白 – Royal

+0

https://docs.djangoproject.com/en/dev/ref/forms/validation/ – karthikr

回答

2
class MyForm(forms.Form): 
    field_one = forms.IntegerField(required=False) 
    field_two = forms.IntegerField(required=False) 

    def clean(self): 
     cleaned_data = self.cleaned_data 
     field_one = cleaned_data.get('field_one') 
     field_two = cleaned_data.get('field_two') 

     if not any([field_one, field_two]): 
      raise forms.ValidationError(u'Please enter a value') 

     return cleaned_data 
  • 使用的IntegerField將驗證,只有數字字符 目前,覆蓋空白空間使用情況。
  • 在兩個字段中指定required=False都允許任何字段留空。
  • 在窗體上實現clean()可讓您訪問這兩個字段。
  • .get()將返回None如果該鍵沒有找到,所以如果在列表中 值的至少一個不是None利用 any([field_one, field_two])將返回true。如果兩個值均未找到,則會提高 ValidationError

希望能幫助你。

+0

謝謝...它真的幫助 – Royal

+0

不客氣。 – Brandon