25 lines
845 B
Python
25 lines
845 B
Python
from django import forms
|
|
from webshop.models import Salutation, City
|
|
|
|
|
|
class RegistrationForm(forms.Form):
|
|
email = forms.EmailField()
|
|
salutation = forms.ModelChoiceField(queryset=Salutation.objects.all())
|
|
first_name = forms.CharField()
|
|
last_name = forms.CharField()
|
|
street_name = forms.CharField()
|
|
street_number = forms.CharField()
|
|
zip_code = forms.IntegerField(min_value=1000, max_value=9999)
|
|
city = forms.CharField()
|
|
|
|
def clean_city(self):
|
|
# Check that the two password entries match
|
|
city = self.cleaned_data['city']
|
|
zip_code = self.cleaned_data['zip_code']
|
|
try:
|
|
City.objects.get(name=city, zip_code=zip_code)
|
|
except City.DoesNotExist:
|
|
raise forms.ValidationError(
|
|
"The zip code and the city don't match.")
|
|
return city
|