form

Python 闭包和__call__详解及开发实践

。_饼干妹妹 提交于 2020-02-07 23:31:57
背景 最近在使用 wtform 做后台的表单验证时候,跟很多框架使用的方法一样,它是结合ORM的对象提供校验, wtform 默认提供了不少的校验器,但是有的字段需要自己编写一些业务相关的校验器。 自定义的每个校验器的特点都是接受两个参数,form, field。 所以我们自己自定义校验器,校验器都必须是可调用对象即可,即函数,对象方法,都可以的。 比如function url_validate(form, field) 我们可以使用下面几种方式来实现 使用函数定制 def my_length_check ( form , field ) : if len ( field . data ) > 50 : raise ValidationError ( 'Field must be less than 50 characters' ) class MyForm ( Form ) : name = StringField ( 'Name' , [ InputRequired ( ) , my_length_check ] ) 上面提供一个my_length_check()函数,用于验证name长达是否长于50个字符。 这个函数按照规定接受两个参数,form, field,然后就可以根据两个参数进行判断。 这样做是可以的,但是问题是: 如果我想自定义错误信息怎么办?而且里面的限制是50,

JavaScript操作form表单元素(单选框 复选框)

非 Y 不嫁゛ 提交于 2020-02-07 20:31:27
通过input就可以将一个简单的复选框呈现在页面上 复选框为checkbox对象 <input type="checkbox" name="fav" id="fav" value="" /> <br/> 全选 因为要得到复选框数组,而id又不能重复。所以通过name来得到复选框数组。得到数组后遍历,将所有checked值设置为true即可实现全选,全不选原理相同 反选 同样的方法得到复选框数组,遍历的时候判断如果checked值为true则改为false,checked值为false则改为true 要实现的页面大概如下: <html> <head> <title>操作表单元素</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--声明js代码域--> <!--- js操作多选框,单选框 被选中状态下js中的checked属性值为true;未选中状态下为flase js操作下拉框,被选择的option对象在js中select属性为true;位选中为flase --> <script type="text/javascript"> //多选框操作 function testCheckBox(){ //获取所有多选元素对象集合

超好看超简洁的登陆注册页面 及 源码

让人想犯罪 __ 提交于 2020-02-07 15:49:23
大家好,胖虎给大家带来平时设计及作业能用上的登陆注册页面 先给大家上几张图,喜欢的后面有源码 登陆页面实现了手机号正则表达式验证,密码正则表达式验证 注册页面实现了手机号正则表达式验证,邮箱H5验证,密码正则表达式验证 第一和第二张图为登陆注册页面图,下面是源码 如果大家有想要第三张图的源码,后面我也有放下载链接 首先放的是 登陆页面的HTML <!DOCTYPE html> <html lang="en"> <head> <title>登陆页面</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="js/signup.js"async></script> <script src="css/font_1554827_uixfzwgne2o/iconfont.js"></script> <link rel="stylesheet" type="text/css" href="css/sign.css"> <link rel="stylesheet" type="text/css"

ant-design表单自定义验证

扶醉桌前 提交于 2020-02-07 10:19:23
<a-form :form="form"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="适用阶段" hasFeedback> <a-select v-decorator="['mealCategory', {rules:[{required:true,message:'适用阶段不能为空'}]}]" @blur="getMealCategory" :disabled="isDisabled" placeholder="请选择适用阶段"> <a-select-option value="小学">小学</a-select-option> <a-select-option value="初中">初中</a-select-option> <a-select-option value="高中">高中</a-select-option> </a-select> </a-form-item> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="活动套餐名称" hasFeedback> <a-input placeholder="请输入活动套餐名称" v-decorator="['mealName', {rules:[

程序中条用其他程序中已经存在的PERFORM

不想你离开。 提交于 2020-02-07 09:28:15
PARAMETERS p_sub ( 40 ) TYPE c . DATA fssub ( 40 ) TYPE c . fssub = p_sub . TRY . PERFORM ( fssub ) IN PROGRAM ydemo_rick_a . " IF FOUND. CATCH cx_sy_dyn_call_illegal_form . WRITE : 'The routine' , p_sub COLOR 3 , 'is not exist!' . ENDTRY . *&---------------------------------------------------------------------* *& Form sub_a *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM sub_a . WRITE : 'Congratulation! I am routine SUB_A!' . ENDFORM . "sub_a *&---------------------------------------

elementui校验表单问题

和自甴很熟 提交于 2020-02-07 09:17:56
<!-- el-form属性简介 el-form: model表单(不是v-model),rules校验规则,ref类似于id el-form-item: prop校验名 el-input: 对应model的属性 --> <el-form :model="form_login" :rules="rules_login" ref="form_login"> <el-form-item prop="account"> <el-input v-model="form_login.account" placeholder="手机号"></el-input> </el-form-item> <el-form-item prop="password"> <el-input v-model="form_login.password" placeholder="密码"> <el-button slot="append" @click="fill()">忘记密码?</el-button> </el-input> </el-form-item> <el-form-item prop="cord"> <el-row> <el-col :span="16"> <el-input v-model="form_login.cord" placeholder="验证码"></el-input> </el-col

软件工程结对作业(四则运算web版)01

无人久伴 提交于 2020-02-07 07:13:30
转自:http://www.cnblogs.com/fylove/p/6676453.html 结对人:胡建峰、高雪彤 设计思想 在以前的程序基础上两人结合开发web系统。 首先编写了一个登录界面,实现的是不同用户,不同题库的功能。 然后进入主页,主页中在登录成功后显示用户名,并有开始答题,查看历史错题和注销三个按钮。开始答题按钮可以供用户选择出题的条件生成题目,查看历史错题会调出数据库中历史的错题,也可以重新做这些错题,注销会注销当前用户,返回登录界面。 出题界面会显示用户的条件,在下面生成题目,后面有一个输入框,供用户答题,不会的可以空下,最后点击提交可以进入结果验证页面,结果页面中,会对输入和信息与数据库中的作对比,正确的显示一个正确的图片,错误会显示一个错误的图片并显示正确答案,并将错误答案和信息存入数据库。 重做错题,从数据库中导出错题和错误答案,在修改提交后,会进行判断。 在最后对页面使用了Javabean、servlet、ajax、jQuery,并对页面进行了美化。 源程序代码 1 package bean; 2 3 import java.sql.*; 4 import com.db.DB; 5 6 public class User { 7 private String username; 8 private String userpass; 9 10

form表单

若如初见. 提交于 2020-02-07 06:46:58
表单 功能/作用 用于向服务器发送数据,实现用户与web服务器的交互 form表单内的标签有 input textarea select fieldset label form表单属性 accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。 action 规定向何处提交表单的地址(URL)(提交页面)。 autocomplete 规定浏览器应该自动完成表单(默认:开启)。 enctype 规定被提交数据的编码(默认:url-encoded)。如果是上传文件需要将enctype="multipart/form-data" method 规定在提交表单时所用的 HTTP 方法(默认:GET)。 name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。 novalidate 规定浏览器不验证表单。 target 规定 action 属性中地址的目标(默认:_self)。 input type 文本text 密码框password 日期输入框date 复选框checkbox redio单选框 提交按钮submit 重置按钮reset 普通按钮button 隐藏输入框hidden 文本选择框file name 相当于表单提交后的数据的key值 value 相当于表单提交后的数据的value值 当input为各种按钮时

CRM相关代码

*爱你&永不变心* 提交于 2020-02-07 05:05:00
0 | 1 CRM目录结构 from django.shortcuts import HttpResponse,render,redirect from django.conf.urls import url from django.utils.safestring import mark_safe from django.urls import reverse from django.forms import ModelForm from stark.utils.my_page import Pagination from django.db.models import Q class ShowList(object): def __init__(self,config_obj,queryset,request): self.config_obj = config_obj self.queryset = queryset self.request = request self.page_obj = Pagination(self.request.GET.get('page',1),self.queryset.count(),self.request.GET) self.page_queryset = self.queryset[self.page_obj.start:self

postman中 form-data、x-www-form-urlencoded、raw、binary的区别 && 下载文件

喜你入骨 提交于 2020-02-07 04:51:45
1、form-data: 就是http请求中的 multipart/form-data ,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息; 由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。 2、x-www-form-urlencoded: 就是 application/x-www-from-urlencoded ,会将表单内的数据转换为键值对,比如,name= Java &age = 23 3、raw 可以上传任意格式的文本,可以上传text、json、xml、html等 4、binary 相当于 Content-Type:application/octet-stream ,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。 multipart/form-data与x-www-form-urlencoded区别 multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息; x-www-form