如果缺少密钥,如何使用 ceberus 发出警告?
How can I produce a warning with ceberus if a key is missing?
Cerberus 允许 required 字段,但我想要 "preferred" class 字段,以便在缺少字段时记录警告消息。我有一些看起来不太好的想法如下:
我可以用 custom rule, but these are called with field
and value
arguments, making me suspect that this function would be called on missing fields. __validate_required_fields 扩展验证器,在文档上调用它来生成丢失的文件会更理想,但我不确定如何将其挂钩。
Cerberus 提供了一个 check_with 选项,但同样,我不确定是否会在缺少的字段上调用它。
我可以尝试根据需要标记这些并在错误处理程序中进行跟踪。这并不理想,因为如果缺少 "preferred" 个字段,验证不应失败。
您的怀疑是正确的,不在文档中的字段未完全验证。并且 __validate_required_fields
未被指定为被覆盖(由于两个前导 __
,名称修饰将失败)。
和1不一样
最好通过覆盖 validate
方法和 post 处理各种(!)错误容器来完成。
我认为最简单的解决方案是针对两种不同的模式进行验证,一种是检查困难,另一种是您从中收到警告。
Cerberus 允许 required 字段,但我想要 "preferred" class 字段,以便在缺少字段时记录警告消息。我有一些看起来不太好的想法如下:
我可以用 custom rule, but these are called with
field
andvalue
arguments, making me suspect that this function would be called on missing fields. __validate_required_fields 扩展验证器,在文档上调用它来生成丢失的文件会更理想,但我不确定如何将其挂钩。Cerberus 提供了一个 check_with 选项,但同样,我不确定是否会在缺少的字段上调用它。
我可以尝试根据需要标记这些并在错误处理程序中进行跟踪。这并不理想,因为如果缺少 "preferred" 个字段,验证不应失败。
您的怀疑是正确的,不在文档中的字段未完全验证。并且
__validate_required_fields
未被指定为被覆盖(由于两个前导__
,名称修饰将失败)。和1不一样
最好通过覆盖
validate
方法和 post 处理各种(!)错误容器来完成。
我认为最简单的解决方案是针对两种不同的模式进行验证,一种是检查困难,另一种是您从中收到警告。