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

Поле формы TelField

Поле формы TelField применяется внутри класса формы для создания поля ввода телефонного номера. Оно наследуется от StringField и по умолчанию использует тип tel при отображении в HTML. Первым параметром передаётся подпись поля, которая выводится рядом с полем ввода. Значением поля всегда является строка, поэтому дополнительное преобразование типов не требуется.

Синтаксис

TelField(label, [validators])

Пример

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

from flask import Flask, render_template, request from wtforms import Form, TelField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class PhoneForm(Form): phone = TelField('Phone') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = PhoneForm(request.form) if request.method == 'POST': return form.phone.data return render_template('index.html', form=form)

Шаблон для вывода формы:

<form method="post"> {{ form.phone.label }} {{ form.phone }} {{ form.submit }} </form>

Результат выполнения кода в HTML:

<label for="phone">Phone</label> <input id="phone" name="phone" type="tel" value=""> <input id="submit" name="submit" type="submit" value="Send">

Пример

Давайте добавим валидатор DataRequired, чтобы поле не оставалось пустым:

from flask import Flask, render_template, request from wtforms import Form, TelField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class PhoneForm(Form): phone = TelField('Phone', [DataRequired()]) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = PhoneForm(request.form) if request.method == 'POST' and form.validate(): return form.phone.data return render_template('index.html', form=form)

Шаблон для вывода формы и ошибок:

<form method="post"> {{ form.phone.label }} {{ form.phone }} {% for error in form.phone.errors %} <p>{{ error }}</p> {% endfor %} {{ form.submit }} </form>

Если отправить форму с пустым полем, результат выполнения кода будет содержать сообщение об ошибке:

<p>This field is required.</p>

Если отправить форму со значением '+1 234 567 89 00', результат выполнения кода будет следующим:

"+1 234 567 89 00"

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

  • поле StringField,
    от которого наследуется TelField
  • поле EmailField,
    которое создаёт поле для ввода email
  • поле URLField,
    которое создаёт поле для ввода адреса сайта
  • валидатор DataRequired,
    который проверяет, что поле не пустое
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить