2017-08-22 41 views
1

可能是一个愚蠢的问题,但是如何验证日期字段表单条目在18年前在Django中的最简单方法是什么? (对于一个生日项,验证年龄)Django:如何验证18岁以上的出生日期条目

+0

尝试使用的DateField的组合和编写自定义的验证。 https://docs.djangoproject.com/en/1.11/_modules/django/forms/fields/#DateField, – Vasif

+0

https://stackoverflow.com/questions/6374275/django-custom-field-validator-vs-clean也有一些事情可以从一开始就修改以适应您的需求。 – Vasif

回答

2

您可以使用清洗方法窗体类, 像这样:

from django import forms 

class BirthDateForm(forms.Form): 
    birth_date = forms.DateField() 

    def clean_birth_date(self): 
     data = self.cleaned_data['birth_date'] 
     ... 
      Traitment (do the delta with datetime.now and data) 
     ... 
     if birth_date_delta < 18 : 
      raise forms.ValidationError("Access forbidden !") 
     return data 
相关问题