[python] Marshmallow에서 제공하는 필드 유효성 검사 기능에 대해 알아보기

Marshmallow는 Python에서 사용되는 직렬화 및 유효성 검사 라이브러리입니다. Marshmallow는 데이터를 직렬화하고 역직렬화하는 기능을 제공하면서도, 데이터의 유효성을 검사하는 강력한 기능을 제공합니다. 이번 글에서는 Marshmallow에서 제공하는 필드 유효성 검사 기능에 대해 자세히 알아보겠습니다.

필드 유효성 검사란?

Marshmallow에서 필드 유효성 검사란 입력된 데이터의 유효성을 검사하는 과정을 말합니다. 예를 들어, 숫자 필드에 문자열이 입력되는 등의 유효성 검사를 통해 잘못된 데이터를 방지할 수 있습니다. 필드 유효성 검사는 데이터의 타입, 최소/최대 값, 형식, 유효성 검사 함수 등을 사용하여 수행됩니다.

필드 유효성 검사 기능 사용하기

Marshmallow에서는 다양한 필드 유효성 검사 기능을 제공하며, 각각의 필드 유효성 검사 기능은 해당 필드의 특정한 유효성을 검사합니다. 다음은 Marshmallow에서 제공하는 필드 유효성 검사 기능 몇 가지의 예시입니다.

문자열 필드 유효성 검사

문자열 필드에서는 다음과 같은 유효성 검사 기능을 사용할 수 있습니다:

from marshmallow import Schema, fields

class MySchema(Schema):
    name = fields.Str(validate=lambda n: len(n) <= 10)  # 최대 10자까지 입력 가능
    email = fields.Email()  # 이메일 형식 검사
    password = fields.Str(validate=lambda p: len(p) >= 8)  # 최소 8자 이상의 비밀번호

data = {
    'name': 'John Doe',
    'email': 'johndoe@example.com',
    'password': 'password123'
}

schema = MySchema()
result = schema.load(data)

숫자 필드 유효성 검사

숫자 필드에서는 다음과 같은 유효성 검사 기능을 사용할 수 있습니다:

from marshmallow import Schema, fields

class MySchema(Schema):
    age = fields.Int(validate=lambda a: 0 <= a <= 120)  # 0 이상 120 이하의 나이

data = {
    'age': 25
}

schema = MySchema()
result = schema.load(data)

결론

Marshmallow는 강력한 필드 유효성 검사 기능을 제공하여 입력된 데이터의 유효성을 쉽게 검사할 수 있도록 도와줍니다. 유효성 검사는 데이터의 정확성과 안정성을 유지하는 데 중요한 역할을 합니다. 필드 유효성 검사 기능을 잘 활용하여 안정적인 데이터 처리를 할 수 있도록 하세요.

참고 자료