gpt4 book ai didi

javascript - 如何使用 python django 使用 ajax 显示表单中的错误消息

转载 作者:行者123 更新时间:2023-12-03 05:32:55 26 4
gpt4 key购买 nike

我试图显示我在表单上提供的错误消息,但它只显示 ID 名称而不是错误消息。

这是我的代码

表单.py

class SecurityCode(forms.Form):
sCode = forms.RegexField(regex=r'^\w+$', widget=forms.TextInput(attrs=dict(id="scode", name="scode", required=True, size=25, placeholder=" Security Code")), error_messages={ 'invalid': "This value must contain only letters, numbers and underscores." })

Views.py

def security(request):
if request.method == 'POST':
securityField = SecurityCode(request.POST)

if taxpayerField.is_valid():
return HttpResponse("success")
else:
return HttpResponse(taxpayerField.errors)

注意:我试图在此 View 中而不是在我的 html 上获取错误消息,因为我试图在我的 javascript 上发出警报。另外,这只是我的示例代码,而不是原始代码。

最佳答案

你可以试试这个:

views.py:

from django.http import JsonResponse

def security(request):
form = SecurityCode(request.POST)

if not form.is_valid():
return JsonResponse({
'success': False,
'err_code': 'invalid_form',
'err_msg': form.errors,
})

#[...] Actions if form is valid ...

return render(request, 'template.html')

JavaScript 代码:

def submit_form(){
var data = {
field1: '...',
field2: '...',
csrfmiddlewaretoken: 'csrftoken',
};

$.ajax({
url: '/submit/form/',
method: 'POST',
data: data,
dataType: 'json',
success: function (data){
if (data.success){
// Actions ...
}
else if (data.err_code === 'invalid_form'){
for(var key in data.err_msg){
console.log('[error] for ' + key + ': ' + data.err_msg[key][0]);
}
}
},
});
}

我使用console.log来说明每个字段的错误消息的恢复。

关于javascript - 如何使用 python django 使用 ajax 显示表单中的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40861367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com