Django Formular Feldvalidierung
Verfasst: Dienstag 19. Juni 2012, 21:28
Hallo Zusammen,
ich hab hier ein Problem in Django. Und war schaue ich mir gerade die unterschiedlichen Validierungsmöglichkeiten bei den Forms an.
Und ich verstehe nicht, warum ich bei dem folgendem Code einfach keinen Fehler bekomme.
Form view
Hier müsste doch immer ein Fehler kommen. Bei clean_name_first
Aufrufender View
ich hab hier ein Problem in Django. Und war schaue ich mir gerade die unterschiedlichen Validierungsmöglichkeiten bei den Forms an.
Und ich verstehe nicht, warum ich bei dem folgendem Code einfach keinen Fehler bekomme.
Form view
Code: Alles auswählen
class RegestrationForm(forms.Form):
name_first = forms.CharField(required=True)
name_last = forms.CharField(required=True)
name_nick = forms.CharField(required=True)
birthdate = forms.CharField(initial='31122012')
adress_street = forms.CharField(required=True)
adress_city = forms.CharField(required=True)
adress_State = forms.CharField(required=True)
adress_zipcode = forms.IntegerField(required=True)
adress_country = forms.ChoiceField(choices=[ (o.id, o.name) for o in Country.objects.all()])
contact_language = forms.ChoiceField(choices=[ (o.id, o.name) for o in ContactLanguage.objects.all()])
contact_email = forms.EmailField(help_text='A valid email address, please.')
def clean_name_first(self):
if len(self.cleaned_data['name_first'].strip()) > 0:
self.errors['name_first'] = ('Please Enter First Name')
raise forms.ValidationError('No First Name entered')
else:
raise forms.ValidationError('No First Name entered')Aufrufender View
Code: Alles auswählen
def registeruser(request):
if request.method == 'POST':
form = RegestrationForm(request.POST)
if form.is_valid():
myPlayer = Player()
myPlayer.name_first = form.cleaned_data["name_first"]
myPlayer.name_last = form.cleaned_data["name_last"]
myPlayer.name_nick = form.cleaned_data["name_nick"]
myPlayer.birthdate = form.cleaned_data["birthdate"]
myPlayer.adress_street = form.cleaned_data["adress_street"]
myPlayer.adress_city =form.cleaned_data["adress_city"]
myPlayer.adress_State = form.cleaned_data["adress_State"]
myPlayer.adress_zipcode = form.cleaned_data["adress_zipcode"]
myPlayer.contact_email = form.cleaned_data["contact_email"]
myPlayer.contact_language_id_fk = form.cleaned_data["contact_language"]
myPlayer.adress_country_id_fk = form.cleaned_data["adress_country"]
myPlayer.save()
return render_to_response("userauth/registration_view_sucess.html")
else:
form = RegestrationForm()
return render_to_response("userauth/registration_view.html", {"form": form})
Code: Alles auswählen
<tr>
<td>
{% if form.errors %}
<ol>
{% for error in form.errors %}
<li><strong>{{ error|escape }}</strong> <strong>{{ form.name_first.errors }}</strong> </li>
{% endfor %}
</ol>
{% endif %}
</td>
</tr>