【问题标题】:N elements list of string validation in cerberuscerberus中字符串验证的N个元素列表
【发布时间】:2021-01-09 13:14:08
【问题描述】:

如何验证某个类型是一个列表,并且它只包含未知数字的字符串元素?

我目前的解决方案是

'categories_id' : {'required' : False, 'type' : ['string','list']},

但它并不能解决问题,当您只提供一个字符串而不是列表时,它也会返回 True

【问题讨论】:

    标签: python string list validation cerberus


    【解决方案1】:

    问题'categories_id' : {'required' : False, 'type' : ['string','list']} 中提到的架构使Cerberus 检查categories_id 字段是字符串还是列表。所以单个字符串将返回 true。

    要让 Cerberus 检查 categories_id 是包含任意数量项目的字符串列表,应使用以下模式

    {'categories_id': {'required': False, 'type': 'list', 'schema': {'type': 'string'}}}

    【讨论】:

      【解决方案2】:

      我还没有找到使用cerberus 的方法,但是没有任何模块应该很简单:

      def validate(l):
          if isinstance(l, list):
              return all(isinstance(I, str) for i in l)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多