表单验证

怎样用vue.js实现表单验证

会有一股神秘感。 提交于 2019-12-06 10:35:54
要引入jq、vue.js vue.js在线网址 < script src = "https://unpkg.com/vue" > </ script > js: < script src = "js/jquery.min.js" > </ script > <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title > Document </ title > < script src = "./node_modules/vue/dist/vue.min.js" > </ script > < script src = "js/jquery.min.js" > </ script > </ head > < body > < div id = "app" > < p > < input @ change = "checkname" type = "text" v-model = "name" placeholder = "用户名" > < span > {{ msgame }} </ span > </ p > < p > < input @ change = "checkemail" type = "text" v-model = "email" placeholder = "邮箱

VUE+自定义表单验证组件

走远了吗. 提交于 2019-12-06 10:35:20
在使用vue写了几个项目之后,发现为了某一个功能而引入一个组件不值得,于是便学习了一下,写自定义标签也便于自己去理解大团队们的组件运行机制。 man.js中定义 Vue.directive('checkParam',{ //从官方文档中可知inserted为钩子函数 // inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。 inserted:function(el,binding){ // el:指令所绑定的元素,可以用来直接操作 DOM 。 el.addEventListener('keyup',function(event){ //input 发生改变时触发事件,改变class的绑定值来改变用户的体验 el.className = el.className.replace('input-error','').trim(); //只有点击提交按钮时,才进行如下操作的限制条件 if (!event.keyCode) { let isRequired = binding.value.required if(isRequired){ if(!el.value||el.value===''){ el.className += ' input-error' } } //binding:一个对象; //binding.value:指令的绑定值,例如

Django-表单字段

浪尽此生 提交于 2019-12-06 10:32:59
表单字段 Field.clean(value) 虽然字段类主要使用在表单类中,但你也可以直接实例化它们来使用,以便更好地了解它们是如何工作的。每个字段实例都有一个clean()方法, 它接受一个参数,然后返回“清洁的”数据或者抛出一个django.forms.ValidationError异常: >>> from django import forms >>> f = forms.EmailField() >>> f.clean( 'foo@example.com' ) 'foo@example.com' >>> f.clean( 'invalid email address' ) Traceback (most recent call last): ... ValidationError: [ 'Enter a valid email address.' ] 字段的核心参数 每个字段类的构造函数至少接受这些参数。有些字段类接受额外的、字段特有的参数,但以下参数应该总是能接受: Field.required 默认情况下,每个字段 类都假设必需有值,所以如果你传递一个空的值 —— 不管是None 还是空字符串(“”) —— clean() 将引发一个ValidationError 异常。 Field.label 正如在前面“输出表单为HTML”中解释的,字段默认label

flask学习笔记(-Web 表单)

送分小仙女□ 提交于 2019-12-06 10:32:40
WEB表单 安装flask-wtf Flask可以通过request.form 能获取POST 请求中提交的表单数据。尽管 Flask 的请求对象提供的信息足够用于处理 Web 表单,但有些任务很单调,而且要重复操作。比如,生成表单的 HTML 代码和验证提交的表单数据。 Flask-WTF 扩展可以把处理 Web 表单的过程变成一种愉悦的体验。 pip install flask-wtf 跨站请求伪造保护 Flask-WTF 能保护所有表单免受跨站请求伪造(Cross-Site Request Forgery,CSRF)的攻击。恶意网站把请求发送到被攻击者已登录的其他网站时就会引发 CSRF 攻击。 解释 , flask-wtf教程 为了实现 CSRF 保护,Flask-WTF 需要程序设置一个密钥。Flask-WTF 使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪。 #设置 Flask-WTF app = Flask(__name__) app.config[ 'SECRET_KEY' ] = 'hard to guess string' #字典可用来存储框架、扩展和程序本身的配置变量。 #为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中。 表单类 每个 Web 表单都由一个 继承自 Form 的类 表示。这个类定义表单中的一组字段

Flask学习记录之Flask-WTF

☆樱花仙子☆ 提交于 2019-12-06 10:32:13
Flask-wtf时Wtforms库的flask框架扩展,能够方便的处理Web表单 一.定义一个web表单 使用flask-wtf时,每个web表单都由一个继承自flask.ext.wtf.Form的类表示,每个字段都由类中的属性表示,每个字段可以附属多个验证函数 from flask.ext.wtf import Form from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired,EqualTo class RegForm(Form): username = StringField( ' Username ' ,validators= [DataRequired()]) password = PasswordField( ' password ' , validators= [DataRequired()]) password1 = PasswordField( ' confirm password ' , validators= [DataRequired(), EqualTo( ' password ' , ' password not match ' )                                     

Flask Web 开发学习稿(二)

孤街浪徒 提交于 2019-12-06 10:31:56
第四章 Web 表单 request.from 能获取 POST 请求中提交的表单数据 Flask-WTF 扩展可以把处理 Web 表单的过程变成一种愉悦的体验 4.1 跨站请求伪造保护 默认情况下,Flask-WTF 能保护所有表单免受跨站请求伪造的攻击,为了实现 CSRF 保护,Flask-WTF 需要程序设置一个密钥,会使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪 设置密钥的方法如示例所示 app = Flask(__name__) app.config[ 'SECRET_KEY '] = 'This is a secret key' app.config 字典可用来存储框架、扩展和程序本身的配置变量,这个对象还提供了一些方法可以从文件或环境中导入配置值。SECRTET_KEY 配置变量是通用密钥,可在 Flask 和多个第三方扩展中使用。 为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中 4.2 表单类 使用 Flask-WTF 时,每个 Web 表单都由一个继承自 Form 的类表示,这个类定义表单中的一组字段,每个字段都用对象表示,字段对象可附属一个或多个验证函数 from flask.ext.wtf import Form from wtforms import StringField, SubmitField from wtforms

如何使用WTForms渲染表单?

99封情书 提交于 2019-12-06 10:27:05
记得在之前《 如何使用WTForms对表单进行验证? 》一文中跟大家讲过,WTFroms不仅可以做表单验证,还可以做模板渲染,本节就为大家讲讲如何使用WTForms渲染表单? 新建一个flask_wtf_demo flask 项目,其代码如下: from flask import Flask,render_template app = Flask(__name__) @app.route("/") def index(): return "index page" @app.route("/login") def login(): return render_template("login.html") if __name__ == "__main__": app.run(debug=True) 注:由于我们只做模板渲染,所以这里就不考虑POST方法。 然后在templates文件下新建一个login.html文件,其代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="" method="post"> <table> <tr> <td>用户名</td> <td><input type="text"

Python Flask Web 第十课 —— flask-wtf

被刻印的时光 ゝ 提交于 2019-12-06 10:26:24
1. Flask-WTF 的安装与密钥的设置 默认情况下,flask-wtf 能保护所有表单免受跨站请求伪造(Cross-site Request Forgery,CSRF)的攻击。恶意网站把请求发送到攻击者已登陆的其他网站时就会引发 CSRF 攻击。 flask-wtf 的安装如下: pip install flask-wtf 为了实现 CSRF 保护,Flask-WTF 需要程序设置一个密钥,Flask-WTF 使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪。 设置密钥的方法如下所示: app.config[ 'SECRET_KEY '] = 'hard to guess' app.config 字典可用来存储框架、扩展和程序本身的配置变量。 2. 表单类 使用 flask-wtf 时,每个 Web 表单都由一个继承自 Form 的类 表示。该类用于定义表单中的一组 字段 ,每个字段都用对象表示。字段对象可附属一个或多个 验证函数 。验证函数用来验证用户提交的输入值是否符合要求。 from flask_wtf import Form from wtforms import StringField, SubmitField from wtforms.validators import DataRequired class NameForm (Form) : name

python-form表单

亡梦爱人 提交于 2019-12-06 10:23:52
form表单 form属于块级标签 功能: 表单用于向服务器传输数据,从而实现用户与web服务器的交互 表单能够包含input系列标签,比如文本字段。复选框。单选框。提交按钮等等 表单还可以包含textarea select fieldset labl标签 表单属性: 属性 描述 accept-charset 规定在提交表单时使用的字符集(默认:页面字符集) action 规定向何处提交表单的地址 URL(提交页面) autocomplete 规定浏览器应该自动完成表单(默认:开启) enctype 规定被提及的数据的编码(默认:url-encoded) methon 规定提交表单时所用的方法(默认:get) name 规定识别表单的名称(对于DOM 使用:document.forms.name) novalidate 规定浏览器不验证表单 target 规定action属性中地址的目标(默认:_self) 表单元素: 基本概念: html表单是html里比较复杂的部分,表单往往和脚本 动态页面 数据处理等功能结合 因此他是制作动态网站很重要的内容 表单一般手机用户的输入信息 表单工作原理: 访问者在浏览表单网页时,可填写必须的信息,然后按某个按钮提交。这些信息通过internet传送的服务端 服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误

layui之表单

纵然是瞬间 提交于 2019-12-06 10:23:13
1.使用 layui 针对各种表单元素做了较为全面的UI支持,你无需去书写那些 UI 结构,你只需要写 HTML 原始的 input、select、textarea 这些基本的标签即可。我们在 UI 上的渲染只要求一点,你必须给表单体系所在的父元素加上 class="layui-form" ,一切的工作都会在你加载完form模块后,自动完成。如下是一个最基本的例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui.form小例子</title> <link rel="stylesheet" href="layui.css" media="all"> </head> <body> <form class="layui-form"> <!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 --> <div class="layui-form-item"> <label class="layui-form-label">输入框</label> <div class="layui-input-block"> <input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input"> </div>