Kalakutas
Kalakutas

Reputation: 134

Flask project, setup Price field

I have problem with setup price field. I wanna make field only with numbers, but i can write in him symbols like "dsajdaslkdja". My code

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')

my form

    </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>

Upvotes: 0

Views: 373

Answers (1)

GAEfan
GAEfan

Reputation: 11360

Try:

from wtforms.widgets.html5 import NumberInput

price = IntegerField('Price',[validators.NumberRange(min=0, max=10000)], widget=NumberInput())

Upvotes: 1

Related Questions