Правило UUID
Правило UUID применяется к полю формы
и проверяет, что введённое значение является
корректным UUID. Если значение не соответствует
формату UUID, валидация завершается ошибкой.
Правило можно использовать как самостоятельно,
так и в составе цепочки валидаторов.
Синтаксис
UUID(message=None)
Параметр message задаёт текст сообщения
об ошибке, который будет показан пользователю,
если значение не является корректным UUID.
Пример
Давайте создадим форму с полем, которое
проверяется правилом UUID:
from flask import Flask, render_template
from wtforms import Form, StringField, SubmitField
from wtforms.validators import UUID
app = Flask(__name__)
class MyForm(Form):
ident = StringField('ident', [UUID()])
submit = SubmitField('send')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm()
if form.validate():
return 'valid'
return render_template('index.html', form=form)
Давайте выведем форму в шаблоне:
<form method="post">
{{ form.ident() }}
{{ form.submit() }}
</form>
Если ввести корректный UUID, например
'123e4567-e89b-12d3-a456-426614174000',
то результат выполнения кода будет:
valid
Пример
Давайте зададим своё сообщение об ошибке
через параметр message:
from flask import Flask, render_template
from wtforms import Form, StringField, SubmitField
from wtforms.validators import UUID
app = Flask(__name__)
class MyForm(Form):
ident = StringField('ident', [UUID(message='bad uuid')])
submit = SubmitField('send')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm()
if form.validate():
return 'valid'
return render_template('index.html', form=form)
Давайте выведем ошибки валидации в шаблоне:
<form method="post">
{{ form.ident() }}
{{ form.ident.errors }}
{{ form.submit() }}
</form>
Если ввести значение 'abcde', то результат
выполнения кода будет:
['bad uuid']
Смотрите также
-
класс
Form,
который является базой для форм WTForms -
правило
Email,
которое проверяет корректность email -
правило
Regexp,
которое проверяет значение по регулярному выражению -
поле
HiddenField,
которое часто хранит идентификаторы