Nei*_*eil 6 validation django-rest-framework
我在我的序列化程序中执行自定义字段级验证,需要引用另一个字段.
查看验证文档中的示例,我不清楚是否应该使用validate_<fieldname>或validate.它看起来都有attrs字典,所以从validate_<fieldname>我可以很容易地引用另一个字段作为validate(即使描述,validate表明你应该使用它来访问多个字段).那么为什么有这两种选择呢?在我的情况下,哪个选项使用正确?
Tom*_*tie 17
提升ValidationError内部validate_<foo>()将导致字段错误.
{'foo': ['Not a fooish value.']}
Run Code Online (Sandbox Code Playgroud)
提升ValidationError内部validate()将导致非字段错误.
{'non_field_errors': ['Foo and bar are not compatible.']}
Run Code Online (Sandbox Code Playgroud)
那么为什么有这两种选择呢?
部分是因为上述原因,部分是因为序列化程序API在可能的情况下镜像了Django的表单API.在需要的地方有一些差异,但风格validate和validate_<foo>风格相似.
在我的情况下,哪个选项使用正确?
根据哪个错误消息更合适,您可以进行判断调用.
| 归档时间: |
|
| 查看次数: |
4577 次 |
| 最近记录: |