【发布时间】:2016-03-31 04:30:57
【问题描述】:
我有一个联系表格,用户可以通过它联系我。我正在使用带有 ajax 的 django,它工作正常 如果 没有错误。如果在输入字段上方显示任何类似的错误,我想显示错误,而不仅仅是错误,而是输入和错误。但是,它确实区分了 success 和 error 结果,因为 ajax 请求是成功的。但我需要显示实际的表单错误。我该怎么做?您的帮助将不胜感激。谢谢。
观看次数:
def contact(request):
if request.is_ajax() and request.POST:
form = ContactForm(request.POST)
if form.is_valid():
new_contact = form.save()
data = {
'result': 'success',
'message': 'Message Sent.'
}
return JsonResponse(data)
else:
data = {
'result': 'error',
'message': 'Form invalid',
'form': 'oops.'
}
return JsonResponse(data)
else:
form = ContactForm()
return render(request, 'public_contact.html', {
'form': form
})
js:
contact_right_form.find('#submit').on('click', function(event) {
event.preventDefault();
$.ajax({
type: contact_right_form.attr('method'),
url: '/contact/',
data: contact_right_form.serialize(),
dataType: 'json',
success: function(data) {
if ( data.result == 'success') {
contact_right_message_sent.text(data.message);
contact_right_message_sent.show();
}
else {
contact_right_message_sent.text(data.message);
contact_right_message_sent.show();
}
},
error: function() {
contact_right_message_sent.text('Sorry! Something went wrong.')
}
});
})
更新
我想在没有 ajax 的情况下显示如下错误:
【问题讨论】:
-
您的错误信息是否显示? (“出了点问题”)还是您要解决的问题
-
@Sayse 是的,确实如此。显示
Form invalid。我需要显示实际的表单错误。 -
可以返回form.errors stackoverflow.com/questions/2624761/…
标签: jquery ajax django django-forms