Правило 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