#使用 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 进行表单验证的例子的更多相关文章

  1. javascript:正则表达式、一个表单验证的例子

    本文内容: 正则表达式 正则表达式的使用方法 正则表达式的特殊匹配字符 正则表达式修饰符 利用正则表达式进行表单验证的例子 首发日期:2018-05-13 正则表达式: 正则表达式的使用方法: 首先创 ...

  2. javascript表单验证的例子

    function checkUsername(){ //对username的内容进行验证. //要求:首字符是字母或下划线,其他由下划线字母数字组成,共4-20位 var inputOb=docume ...

  3. JQuery在一个简单的表单验证的例子

    html代码例如以下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  4. angular学习笔记(二十)-表单验证

    本篇主要介绍angular中的表单验证: 表单验证主要有以下一些内容: 1. required指令: 相当于html5的required属性,验证不能为空 2. ng-maxlength属性: 验证内 ...

  5. Element表单验证(1)

    Element表单验证(1) 首先要掌握Element官方那几个表单验证的例子,然后才看下面的教程. Element主要使用了async-validator这个库作为表单验证 async-valida ...

  6. flask框架(八)—自定义命令flask-script、多app应用、wtforms表单验证、SQLAIchemy

    自定义命令flask-script 用于实现类似于django中 python3 manage.py runserver ...类似的命令,用命令行启动项目 首先安装:pip3 install fla ...

  7. 五十二:WTForms表单验证之基本使用

    作用:1.做表单验证,把用户提交的数据验证是否合法2.做模板渲染 安装:pip install wtforms 表单验证1.自定义一个表单类,继承wtforms.Form2.定义好需要验证的字段,字段 ...

  8. 测开之路一百四十八:WTForms表单验证

    使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms imp ...

  9. 玩转spring boot——AOP与表单验证

    AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...

随机推荐

  1. 笔记:MyBatis XML配置-typeAliases 内建别名表

    别名 映射的类型 _byte byte _long long _short short _int int _integer int _double double _float float _boole ...

  2. 聊一聊JS的原型链之高级篇

    首先呢JS的继承实现是借助原型链,原型链即__proto__形成的链条. 下面一个例子初步认识下原型链: function Animal (){ } var cat = new Animal() 我们 ...

  3. Tomcat 8启动速度慢原因1: At least one JAR was scanned for TLDs yet contained no TLDs

    最近使用tomcat8启动项目时,发现At least one JAR was scanned for TLDs yet contained no TLDs这一步加载时间非常长, 从网上收集了各种资料 ...

  4. 接口登录CSDN发布博客---封装方法,使用unittest框架

    一个简单的跑接口流程:登录后发表带图片的博客.这里涉及到的知识点: 1.登录时通过cookies去保持登录状态,把cookies添加到一个session中,这样可以保持长时间登录状态: 2.我们通过爬 ...

  5. Hibernate学习笔记一 使用idea开发工具搭建框架

    1.导包,包下载地址:http://hibernate.org/orm/downloads/ 2.创建数据库,准备表,实体.示例: CREATE TABLE `cst_customer` ( `cus ...

  6. 从Firefox升级说学习方法

    今天早上,打开PortableAPPs时,它提示我升级FireFox,跟往常一样我没考虑就升级了. 打开Firefox 57神速,很是惊喜,打开后发现悲剧了,自己(通过下载插件)定制的功能都不能使用了 ...

  7. iOS中CocoaPods的安装及错误详解

    什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为"Pods"的依赖库(这些类库必须是Coc ...

  8. 【学习笔记】windows安装jhipster踏坑记录

    序: 入职新公司第二天了,本来第一天是配置环境来着,配了一下午也没搞成那个jhipster的安装,每次以为应该正常的时候都是不对,yo是yeoman的指令,但是我是使用yarn管理的yeoman 纠结 ...

  9. Scala Option类型

    转载自: Scala 初学者指南, 这里有一系列很棒的文章 类型 Option 可能你已经见过它在 Map API 中的使用:在实现自己的提取器时,我们也用过它, 然而,它还需要更多的解释. 你可能会 ...

  10. java中DelayQueue的一个使用陷阱分析

    最近工作中有接触到DelayQueue,网上搜索资料的时候发现一篇文章谈到DelayQueue的坑.点击打开链接 文中已经总结了遇到坑的地方,还有解决方案.不过我第一眼看一下没弄明白为什么,所以翻了翻 ...