【问题标题】:Spyne: Integer Validation how can I set minimum digit limit?Spyne:整数验证如何设置最小位数限制?
【发布时间】:2020-08-07 07:08:20
【问题描述】:

我想为一个整数添加验证,它的最小数字值为 5,最大数字值为 20

对于整数,我设置了以下验证

Integer(min_occurs=1, gt=9999, max_str_len=20, nillable=False)

我只是解决了 min_str_len,我没有找到 min_str_len 的任何属性。 有什么默认方法可以代替解决方法吗?

【问题讨论】:

  • 您似乎使用gt 来限制最小允许值。该解决方案有什么缺点吗?

标签: spyne


【解决方案1】:

您可以继承Integer 类型(或其他最适合的类型)并实现validate_native 方法。

文档中的素数检查示例:

from math import sqrt, floor

class Prime(UnsignedInteger):
    """Custom integer type that only accepts primes."""

    @staticmethod
    def validate_native(cls, value):
        return (
            UnsignedInteger.validate_native(value) and \
            all(a % i for i in xrange(2, floor(sqrt(a))))
        )

来源:http://spyne.io/docs/2.10/manual/05-02_validation.html#a-native-validation-example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2014-12-22
    相关资源
    最近更新 更多