[英]what is the best way to check django form errors in javascript before submitting?
實際上我需要一個在javascript驗證(客戶端)和我的django表單驗證(服務器端)中具有相同錯誤消息的方法。
我搜索任何django庫,但我找不到。 這是我在SO中創建的最相關的問題,但似乎沒有幫助:
你知道任何django庫嗎?如果不知道什么是最好的方法呢?
提前致謝。
我找不到任何現有的庫來輕松完成這項工作,所以我使用了一種解決方法。
Django表單錯誤采用列表格式。 很難將Django的dict列表轉移到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)
當我們需要完全控制表單錯誤內容時,此功能非常有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.