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>