提交前检查javascript中django表单错误的最佳方法是什么?
实际上,我需要一个在javascript验证(客户端)和django表单验证(服务器端)中具有相同错误消息的方法 我搜索了任何django库,但没有找到任何。这是我在SO中发现的最相关的问题,但似乎没有帮助: 你知道django库中有没有这样的库,如果没有,最好的方法是什么提交前检查javascript中django表单错误的最佳方法是什么?,javascript,django,django-forms,error-checking,Javascript,Django,Django Forms,Error Checking,实际上,我需要一个在javascript验证(客户端)和django表单验证(服务器端)中具有相同错误消息的方法 我搜索了任何django库,但没有找到任何。这是我在SO中发现的最相关的问题,但似乎没有帮助: 你知道django库中有没有这样的库,如果没有,最好的方法是什么 提前感谢。我找不到任何现有的库可以轻松完成这项工作,因此我使用了一种变通方法 Django表单错误为列表格式。很难将dict列表从Django传输到JS。我有一个方便的功能。此函数(convertErrorsToDict)
提前感谢。我找不到任何现有的库可以轻松完成这项工作,因此我使用了一种变通方法 Django表单错误为列表格式。很难将dict列表从Django传输到JS。我有一个方便的功能。此函数(convertErrorsToDict)将每个参数的所有错误合并为一个错误: 视图。py:
def convertErrorsToDict(errors): #previously errors={f1:[er1]}. make it {f1:'er1'} so we can render nicely
#converts form errors from list to dictionary
errors2={}
for f in errors:
errors2[f]='.'.join(errors[f])
return (errors2)
def setPassword(request):
your_form=FormName();
context={}
errors=convertErrorsToDict(your_form.errors)
context['errors']=errors;
return render(request,'htmlFileName.html',context)
{% load jsonify %}
<script type="text/javascript">
var errors={{errors|jsonify}};
</script>
FileName.html:
def convertErrorsToDict(errors): #previously errors={f1:[er1]}. make it {f1:'er1'} so we can render nicely
#converts form errors from list to dictionary
errors2={}
for f in errors:
errors2[f]='.'.join(errors[f])
return (errors2)
def setPassword(request):
your_form=FormName();
context={}
errors=convertErrorsToDict(your_form.errors)
context['errors']=errors;
return render(request,'htmlFileName.html',context)
{% load jsonify %}
<script type="text/javascript">
var errors={{errors|jsonify}};
</script>
当我们需要完全控制表单错误内容时,此功能非常有用。当表单做得很好时,为什么希望javascript这样做?您可以使用jquery的验证插件来实现对用户更方便的功能(因为提交后检查成本很高)。基本上,您可以使用jquery插件,如:,在提交之前,验证表单字段为什么不使用HTML5验证?很好,这样的话,你几乎不需要处理错误的输入。HTML5验证(带有“模式”属性)不适用于textarea不幸的是。。。