簡體   English   中英

Flask IntegerField小部件驗證器不起作用

[英]Flask IntegerField widget validator not working

我可能會遺漏一些明顯的東西,但是我無法使其正常工作。 我想要的是“旋轉”小部件停在最大(最小)值,而不允許用戶選擇較高(較低)的值。 我究竟做錯了什么?

風景:

<html>
    <head>
        <title>Widget Question</title>
    </head>

    <body>
        <form method=post action=''>
            {{ template_form.my_intfield.label }} {{ template_form.my_intfield }}
        </form>
    </body>
</html>

控制器:

from flask import Flask, render_template, request
from wtforms import Form, IntegerField, widgets, validators

app = Flask(__name__)
app.secret_key='some secret'

class InputForm(Form):
    # This is the problem line - I can spin past max or min.
    my_intfield = IntegerField(label='My integer field', widget=widgets.Input(input_type='number'), validators=[validators.InputRequired(), validators.NumberRange(min=0, max=100)], default=100)    

@app.route('/', methods=['GET', 'POST'])
def index():
    form=InputForm(request.form)
    return render_template('view.html', template_form=form)

if __name__ == '__main__':
    app.run(debug=True)

我沒有收到錯誤,只是無法正常工作; 也就是說,微調器不會停在100,而是繼續前進。 我希望它在頂端停留在100,而在底端不允許出現負數。

WTForms驗證在服務器端完成。 您還需要添加JavaScript驗證-例如Parsley JS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM