フォームの検証後にエラーでリターンを送信するこのビューがあります。
def update_window(request):
if form.is_valid():
# save the form
else:
data = dict((key, [unicode(v) for v in values]) for key, values in form.errors.items())
return HttpResponse(simplejson.dumps(data))
この戻り値により、テンプレートへの送信で次のエラーが発生します。
{'postals_before': [u'Field required.'], 'postals_after': [u'Field required.']}
フォームはTwitterBootstrapモーダルウィンドウ内にあります。
<form class="form-horizontal" action="{% url 'update_window' %}" method="POST">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send" class="btn btn-primary">
</form>
フォームがajaxによって送信されていないため、jqueryを使用してモーダルウィンドウでエラーディクテーションを受信するにはどうすればよいですか?よろしく!
編集!
ビューにエラーフォームを返さずにフォームのフィールドを検証するためのソリューション:
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
ビューの戻り値を削除し、テンプレートでこの検証を作成します。
$(function () {
$("#form").validate({
// Defining the rules
rules:{
postals_before:{
required: true
number: true
},
postals_after:{
required: true
number: true
}
},
// Defining the messages for each rule.
messages:{
postals_before:{
required: "Enter the amount of postals on display.",
number: "Only numbers."
},
postals_after:{
required: "Enter the amount of postals placed.",
number: "Only numbers."
}
}
});
});