1

Cerberus 允许必填字段,但我希望有一个“首选”字段类,以便在它们丢失时记录警告消息。我有一些看起来不太好的想法如下:

  1. 我可以使用自定义规则扩展验证器,但是这些是用fieldvalue参数调用的,这让我怀疑这个函数会在缺少的字段上调用。__validate_required_fields在文档上调用以生成丢失的文件会更理想,但我不确定如何将其挂钩。

  2. Cerberus 提供了一个check_with选项,但我不确定是否会在缺少的字段上调用它。

  3. 我可以尝试根据需要标记这些并在错误处理程序中进行跟踪。这并不理想,因为如果缺少“首选”字段,验证不会失败。

4

1 回答 1

0
  1. 您的怀疑是正确的,文档中没有的字段未得到充分验证。并且__validate_required_fields没有被指定为被覆盖(名称修改会由于两个前导而失败__)。

  2. 它不像1中那样。

  3. 这最好通过覆盖validate方法和后处理各种(!)错误容器来完成。

我认为最简单的解决方案是针对两种不同的模式进行验证,一种是严格检查,另一种是您从中获得警告。

于 2020-06-14T20:55:48.157 回答