簡體   English   中英

在提交之前在javascript中檢查django表單錯誤的最佳方法是什么?

[英]what is the best way to check django form errors in javascript before submitting?

實際上我需要一個在javascript驗證(客戶端)和我的django表單驗證(服務器端)中具有相同錯誤消息的方法。

我搜索任何django庫,但我找不到。 這是我在SO中創建的最相關的問題,但似乎沒有幫助:

Django Javascript表單驗證

你知道任何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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM