实际上我需要一个在javascript验证(客户端)和我的django表单验证(服务器端)中具有相同错误消息的方法。
我搜索任何django库,但我找不到。这是我在SO中创建的最相关的问题,但似乎没有帮助:
Django Javascript form validation
你知道任何django库吗?如果不知道什么是最好的方法呢?
提前致谢。
答案 0 :(得分:1)
我找不到任何现有的库来轻松完成此操作,因此我使用了一种解决方法。
Django表单错误为列表格式。很难将字典列表从Django传输到JS。我有一个方便的功能。此函数(convertErrorsToDict)将每个参数的所有错误汇总为1个错误。
views.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)
FileName.html:
{% load jsonify %}
<script type="text/javascript">
var errors={{errors|jsonify}};
</script>
FileName.js
现在,在js文件中,我们可以直接使用errors
作为变量。
console.log(errors.para1) //para1 is first para in the form. eg first_name
console.log(errors.para2)
当我们需要完全控制表单错误内容时,此功能很有用。