У меня проблема с полем настройки цены. Я хочу сделать поле только цифрами, но могу написать в нем символы типа «дсайдаслкджа». Мой код

from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, TextAreaField, IntegerField, validators, RegularExpression
from wtforms.validators import DataRequired


class PostForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    content = TextAreaField('Content', validators=[DataRequired()])
    price = IntegerField('Price', [validators.NumberRange(min=0, max=10000)] )
    submit = SubmitField('Post')

Моя форма

    </div>
    <div class="form-group">
        {{ form.price.label(class="form-number-label") }}
        {% if form.price.errors %} 
            {{ form.price(class="form-number form-number-lg is-invalid") }}
            <div class="invalid-feedback">
                {% for error in form.price.errors %}
                    <span>{{ error }}</span>
                {% endfor %}
            </div>
        {% else %}
            {{ form.price(class="form-number form-control-lg") }}
        {% endif %}
    </div>
1
Kalakutas 7 Сен 2020 в 15:12

1 ответ

Лучший ответ

Пытаться:

from wtforms.widgets.html5 import NumberInput

price = IntegerField('Price',[validators.NumberRange(min=0, max=10000)], widget=NumberInput())
2
GAEfan 7 Сен 2020 в 15:32