欢迎访问宙启技术站
智能推送

Python中marshmallow.validateLength()的使用方法

发布时间:2024-01-05 05:53:47

在Python中,marshmallow库提供了validate.Length()函数,用于验证字符串、列表或字典的长度。该函数接受两个参数:minmax,分别表示最小长度和最大长度。以下是validate.Length()的使用方法和例子:

from marshmallow import Schema, fields, validate

class UserSchema(Schema):
    username = fields.Str(validate=validate.Length(min=3, max=20))
    email = fields.Email(validate=validate.Length(max=100))
    password = fields.Str(validate=validate.Length(min=6))

# 示例数据
user_data = {
    'username': 'john_doe',
    'email': 'johndoe@example.com',
    'password': 'password123'
}

# 实例化UserSchema
schema = UserSchema()

# 验证数据
errors = schema.validate(user_data)
if errors:
    print(errors)
else:
    print('数据验证通过!')

在上面的例子中,我们定义了一个UserSchema类,其中包含了usernameemailpassword字段。我们使用validate.Length()函数来对这些字段进行长度验证。

- username字段的长度必须在3到20之间(包含3和20)。

- email字段的长度不能超过100。

- password字段的长度必须至少为6。

然后,我们使用UserSchema类实例化一个schema对象,并使用schema.validate()方法来验证示例数据user_data。如果数据验证通过,将打印出"数据验证通过!";如果有任何验证错误,将打印出错误信息。