[python] Flask-WTF에서 폼 필드에 입력된 값의 길이를 검사하여 유효성 검사를 어떻게 할 수 있나요?

Flask-WTF는 Flask를 기반으로 한 웹 애플리케이션에서 폼을 생성하고 검증하는데 도움을 줍니다. 폼 필드에서 입력된 값의 길이를 검사하여 유효성 검사를 하는 방법을 알아보겠습니다.

먼저, Flask-WTF에서 폼을 생성하고 폼 필드를 정의해야 합니다. 예를 들어, 텍스트 필드를 만들기 위해 StringField를 사용할 수 있습니다:

from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import Length

class MyForm(FlaskForm):
    my_field = StringField('My Field', validators=[Length(min=2, max=10)])
    submit = SubmitField('Submit')

위의 예제에서 my_field 폼 필드는 길이가 2에서 10 사이인 값을 입력해야 합니다. validators 인자에 Length(min=2, max=10)을 전달하여 유효성 검사를 설정합니다.

이제 이 폼을 라우트 함수에서 사용하고 입력된 값을 검사할 수 있습니다:

from flask import Flask, render_template, request
from flask_wtf import FlaskForm

app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key_here'

@app.route('/form', methods=['GET', 'POST'])
def form():
    form = MyForm()

    if form.validate_on_submit():
        # 폼이 제출되고 유효성 검사를 통과한 경우
        my_field_value = form.my_field.data
        # 값에 대한 추가적인 처리

    return render_template('form.html', form=form)

위의 코드에서 form.validate_on_submit()을 호출하여 폼의 유효성을 검사할 수 있습니다. 유효성 검사를 통과하면, form.my_field.data를 통해 입력된 값에 접근할 수 있습니다.

이제 Flask-WTF를 사용하여 폼 필드에 입력된 값의 길이를 검사하여 유효성 검사를 할 수 있습니다. 필요한 경우 Length 외에 다른 유효성 검사기를 사용할 수도 있습니다. Flask-WTF 문서에서 제공하는 다양한 유효성 검사기를 참조하시기 바랍니다.

참고 자료: