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

Правило MacAddress

Правило MacAddress применяется к полю формы WTForms и проверяет, что введённое значение является корректным MAC-адресом. Это правило удобно использовать в формах, где пользователь должен указать адрес сетевого устройства.

Валидатор принимает значение поля и сравнивает его с шаблоном MAC-адреса. Если значение не соответствует шаблону, к полю добавляется сообщение об ошибке. Правило можно использовать как самостоятельно, так и в списке валидаторов поля.

Синтаксис

MacAddress(message=None)

Параметр message задаёт текст сообщения об ошибке. Если параметр не указан, используется стандартное сообщение.

Пример

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

from flask import Flask, render_template, request from wtforms import Form, StringField from wtforms.validators import MacAddress app = Flask(__name__) class MyForm(Form): mac = StringField('mac', [MacAddress()]) @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm(request.form) if request.method == 'POST': if form.validate(): return 'valid mac' else: return str(form.errors) return render_template('index.html', form=form)

Давайте создадим шаблон для вывода формы:

<form method="post"> {{ form.mac.label }} {{ form.mac() }} <input type="submit"> </form>

Если ввести корректный MAC-адрес '00:1A:2B:3C:4D:5E', форма успешно пройдёт валидацию. Результат выполнения кода:

valid mac

Если ввести некорректное значение 'abcde', форма не пройдёт валидацию и вернёт сообщение об ошибке.

Пример

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

from flask import Flask, render_template, request from wtforms import Form, StringField from wtforms.validators import MacAddress app = Flask(__name__) class MyForm(Form): mac = StringField('mac', [MacAddress(message='invalid mac address')]) @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm(request.form) if request.method == 'POST': if form.validate(): return 'valid mac' else: return str(form.errors) return render_template('index.html', form=form)

Теперь при некорректном вводе форма вернёт заданное нами сообщение об ошибке.

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

  • правило IPAddress,
    которое проверяет IP-адрес
  • правило Regexp,
    которое проверяет значение по регулярному выражению
  • правило DataRequired,
    которое проверяет, что поле не пустое
  • класс Form,
    который представляет форму WTForms
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить