方式一,直接判斷
方式二,從源碼入手(對單個字段做驗證)
如果要驗證username是否在數據庫中存在,先查看源碼,由於數據驗證是從 obj.is_valid()方法開始驗證,所以進入這個方法
依次查看
回到form類
必須要拋出ValidationError異常,導入這個異常
對多個字段做驗證
回到剛才的源碼,看這個函數
嘗試提交數據
可以看到,對於整體的錯誤信息通過 __all__ 來取,
print(obj.errors['__all__']) #<ul class="errorlist nonfield"><li>整體錯誤信息</li></ul>
對於錯誤類型obj.errors,
是ErrorDict類型,是繼承dict的
可以通過上面的幾個方法來返回不同的類型,默認是返回HTML列表形式的