方式一,直接判断

Django之form组件提交数据如何验证数据库中是否存在

方式二,从源码入手(对单个字段做验证)

Django之form组件提交数据如何验证数据库中是否存在

如果要验证username是否在数据库中存在,先查看源码,由于数据验证是从  obj.is_valid()方法开始验证,所以进入这个方法

Django之form组件提交数据如何验证数据库中是否存在

依次查看

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

回到form类

Django之form组件提交数据如何验证数据库中是否存在

必须要抛出ValidationError异常,导入这个异常

Django之form组件提交数据如何验证数据库中是否存在

 

对多个字段做验证

回到刚才的源码,看这个函数

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

尝试提交数据

Django之form组件提交数据如何验证数据库中是否存在

Django之form组件提交数据如何验证数据库中是否存在

可以看到,对于整体的错误信息通过 __all__ 来取,

print(obj.errors['__all__']) #<ul class="errorlist nonfield"><li>整体错误信息</li></ul>

 

 

对于错误类型obj.errors,Django之form组件提交数据如何验证数据库中是否存在

是ErrorDict类型,是继承dict的

 Django之form组件提交数据如何验证数据库中是否存在

可以通过上面的几个方法来返回不同的类型,默认是返回HTML列表形式的

 

相关文章:

  • 2022-01-18
  • 2022-12-23
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
  • 2021-12-12
相关资源
相似解决方案