码迷,mamicode.com
首页 > 其他好文 > 详细

使用 WTForms 进行表单验证的例子

时间:2018-03-13 01:00:42      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:err   validator   mat   val   log   访问表   UI   app   dma   

#使用 WTForms 进行表单验证的例子

from wtforms import Form
from wtforms import BooleanField
from wtforms import TextField
from wtforms import PasswordField
from wtforms import validators

#注册表单
class RegisterForm(Form):
    username = TextField("Username",[validators.length(min=4, max=25)])
    email = TextField("Email Address", [validators.length(min=6, max=25)])
    password = PasswordField("New Password", [validators.Required(), validators.EqualTo("confirm", message="Passwords must match")])
    confirm = PasswordField("Repeat Password")
    accept_tos = BooleanField("I accept the TOS", [validators.Required()])


#视图函数
@app.route("/register", methods=["GET", "POST"])
def register():
    form = RegisterForm(request.form)
    if request.method == "POST" and form.validate():
        user = User(form.username.data, form.email.data, form.password.data)
        db_session.add(user)
        flash("Thanks for registering")
        return redirect(url_for("login"))
    return rendertemplate("regiser.html", form=form)
#备忘表
# 1、如果数据是以POST方式提交的,那么基于请求的form属性的值创建表单,反过来,如果是以get提交的,就从args属性创建
# 2、验证表单数据,调用validate()方法,如果数据验证通过,此方法将会返回True,否则返回False
# 3、访问表单的单个值,使用form.<NAME>.data


#模版中的表单

{% macro render_field(field) %}
  <dt>{{ field.label }}
  <dd>{{ field(**kwargs)|safe }}
  {% if field.errors %}
    <ul class=errors>
    {% for error in field.errors %}
      <li>{{ error }}</li>
    {% endfor %}
    </ul>
  {% endif %}
  </dd>
{% endmacro %}

 

使用 WTForms 进行表单验证的例子

标签:err   validator   mat   val   log   访问表   UI   app   dma   

原文地址:https://www.cnblogs.com/themost/p/8552590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!