[python] Flask-WTF에서 폼 필드에 대한 입력 제약 조건을 설정하는 방법은 어떻게 되나요?

Flask-WTF는 Flask 프레임워크에서 웹 폼을 사용하기 위한 확장 모듈입니다. 이 모듈을 사용하여 폼 필드에 대한 입력 제약 조건을 설정할 수 있습니다.

Flask-WTF에서 제공하는 wtforms 모듈을 사용하여 폼 필드에 대한 제약 조건을 정의합니다. 다양한 제약 조건을 설정할 수 있으며, 일반적으로 사용하는 몇 가지 예제를 소개해드리겠습니다.

1. 필드가 빈 값을 가질 수 없도록 설정하기

from flask_wtf import FlaskForm
from wtforms import StringField, validators

class MyForm(FlaskForm):
    username = StringField('Username', validators=[validators.InputRequired()])

위의 예제에서 StringField는 입력 필드를 생성하는데 사용되며, validators.InputRequired()를 사용하여 필드가 빈 값을 가질 수 없도록 설정합니다.

2. 이메일 형식이 유효한지 확인하기

from flask_wtf import FlaskForm
from wtforms import StringField, validators

class MyForm(FlaskForm):
    email = StringField('Email', validators=[validators.Email()])

위의 예제에서 validators.Email()를 사용하여 이메일 형식이 유효한지 확인합니다.

3. 최소/최대 문자 길이 제한 설정하기

from flask_wtf import FlaskForm
from wtforms import StringField, validators

class MyForm(FlaskForm):
    password = StringField('Password', validators=[validators.Length(min=8, max=16)])

위의 예제에서 validators.Length를 사용하여 최소 8자, 최대 16자의 문자 길이 제한을 설정합니다.

이제 Flask 프로젝트에서 폼을 사용할 때, 위에서 정의한 MyForm 클래스를 이용하여 폼 객체를 생성하고, 해당 폼 객체를 렌더링하면 설정한 입력 제약 조건이 적용된 폼이 나타납니다.

더 많은 입력 제약 조건과 사용 방법은 Flask-WTF와 wtforms 문서를 참고하시길 바랍니다.