РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
309 of 643 menu

Правило FileRequired

Правило FileRequired применяется к полю формы FileField или MultipleFileField и проверяет, что пользователь обязательно загрузил файл. Если файл не был выбран, валидация завершается ошибкой. В первом параметре передаётся текст сообщения об ошибке.

Синтаксис

FileRequired(message='File required')

Пример

Давайте создадим форму с полем для загрузки файла и применим к нему правило FileRequired:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import FileField, SubmitField from wtforms.validators import FileRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'secret' class UploadForm(FlaskForm): file = FileField('File', validators=[FileRequired()]) submit = SubmitField('Upload') @app.route('/', methods=['GET', 'POST']) def index(): form = UploadForm() if form.validate_on_submit(): return 'file uploaded' return render_template('index.html', form=form)

Создадим шаблон для вывода формы:

<form method="post" enctype="multipart/form-data"> {{ form.csrf_token }} <p>{{ form.file.label }} {{ form.file() }}</p> <p>{{ form.submit() }}</p> </form>

Если отправить форму без выбранного файла, валидация не пройдёт, и в атрибуте errors поля появится сообщение об ошибке.

Пример

Давайте зададим собственное сообщение об ошибке через параметр message:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import FileField, SubmitField from wtforms.validators import FileRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'secret' class UploadForm(FlaskForm): file = FileField('File', validators=[ FileRequired(message='Please select a file') ]) submit = SubmitField('Upload') @app.route('/', methods=['GET', 'POST']) def index(): form = UploadForm() if form.validate_on_submit(): return 'file uploaded' return render_template('index.html', form=form)

Результат выполнения кода при отправке пустой формы:

"Please select a file"

Смотрите также

  • класс FlaskForm,
    который является базой для форм Flask
  • правило FileAllowed,
    которое проверяет расширение загружаемого файла
  • правило FileSize,
    которое проверяет размер загружаемого файла
  • поле FileField,
    к которому применяется правило FileRequired
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить