表单验证

多个表单如何同时验证

匿名 (未验证) 提交于 2019-12-02 23:57:01
最近公司的项目会有大量的表单需要输入很多信息。 比如下面的表单: 我知道的有两种方法: 第一种方法是通过promise.all(),通过promise进行同步验证。代码示例度娘有很多。 我使用的是第二种方法,代码如下: 1 addBaseInfo(){ 2 that.$refs['store'].validate((valid) => { //第一个表单ref="store” 5 if (valid) { 6 this.titleFormValid = true //如果通过,加个true相当于开关判断 7 } 8 }); 9 if(this.store.type==1){ 10 that.$refs['school'].validate((valid) => { //第二个表单ref='school' 11 if(valid){ 12 that.customFormValid = true //同上 13 } 14 }); 15 }else if(this.store.type==3){ 16 that.$refs['company'].validate((valid) => { 17 if(valid){ 18 that.customFormValid = true 19 } 20 }); 21 }else{ 22 that.$refs['community']

vue+element 动态表单验证

匿名 (未验证) 提交于 2019-12-02 23:57:01
1 <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic"> 2 <div v-for="(domain, index) in dynamicValidateForm.list"> 3 <el-form-item label="" style="margin-left: -70px"> 4 <el-select v-model="dynamicValidateForm.list[index].organizer.positionId" @change="Positon($event)"> 5 <el-option 6 v-for="item in positionList" 7 :key="item.id" 8 :label="item.name" 9 :value="item.id" 10 :disabled="item.disabled" 11 ></el-option> 12 </el-select> 13 </el-form-item> 14 <el-form-item style="margin-left: -29px" 15 label="人数" 16 :prop="'list.' + index + '

SPA项目之CRUD+表单验证

匿名 (未验证) 提交于 2019-12-02 23:57:01
1. 表单验证 Form组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则, 并将Form-Item的prop属性设置为需校验的字段名即可 <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog"> <el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm"> <el-form-item label="文章标题" prop="title"> <el-input size="small" v-model="editForm.title" auto-complete="off" placeholder="请输入文章标题"></el-input> </el-form-item> <el-form-item label="文章内容" prop="body"> <el-input size="small" v-model="editForm.body" auto-complete="off" placeholder="请输入文章内容"></el-input> </el-form-item> </el-form> <div slot="footer"

VUE中表单验证――vuelidate

匿名 (未验证) 提交于 2019-12-02 23:56:01
第一步:安装,导入main.js中 可以通过 npm 安装 npm install vuelidate --save 然后导入到 `main.js` 中 import Vuelidate from 'vuelidate' Vue.use(Vuelidate) 第二步:在组件中使用 Vuetify:Forms 数据需要用 v-model 绑定, this.$v.xxx.$touch() 用来触发验证事件, :error-messages 用来进行表单验证并提示错误信息, this.$v.$reset() 用来清除内容。 this. v . x x x . v.xxx. v . x x x . touch() 里的 xxx 为 v-model 中绑定的字段内容。 <template> <v-dialog v-model="dialogAddLevel" persistent max-width="700px"> <v-card> <v-flex md2><label>项目点数起</label></v-flex> <v-flex md6> <v-text-field v-model="editedItem.start" :error-messages="startErrors" required @blur="$v.editedItem.start.$touch()" ></v-text

angular2表单学习

匿名 (未验证) 提交于 2019-12-02 23:51:01
实现表单功能的基础实例: FormControl 实例用于追踪单个表单控件的值和验证状态。 FormGroup 用于追踪一个表单控件组的值和状态。 FormArray 用于追踪表单控件数组的值和状态。 ControlValueAccessor 用于在 Angular 的 FormControl 实例和原生 DOM 元素之间创建一个桥梁。 分类: 响应式表单:FormControl控制一个表单,FormGroup控制多个formcontrol;使用FormBuilder自动创建control和group,不用手动创建; 模板驱动表单:ngModel ngModel: 根据领域对象创建一个 FormControl 实例,并把它绑定到一个表单控件元素上。

layui表单一

匿名 (未验证) 提交于 2019-12-02 23:43:01
1. ***首先明确一点 表单的以来加载模块是 form。如果不加载form模块,select、checkbox、radio等将无法显示,并且无法使用form相关功能。 我们用layui官网的样本来做例子 ******必须要在外层容器中定义 class="layui-form" class="layui-form"。 官网的例子是用的form.我们改为拥有上述calss的div。 <body> <div class="layui-form" > <div class="layui-form-item"> <label class="layui-form-label">输入框</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码框</label> <div class="layui-input-inline"> <input type="password"

input 的 pattern 验证表单

匿名 (未验证) 提交于 2019-12-02 23:40:02
pattern 用于定义验证输入正则表达式 pattern 属性适用于以下 <input> 类型:text, search, url, telephone, email 以及 password 需要注意的是:input的正则表达式是不需要使用 \ 来转义特殊字符的,这和js里面的正则表达式有所区别,转义了反而会报错 可以使用 title 属性来描述正则表达式,这样在浏览器验证表单是就会按title描述来提示错误消息 使用title虽然会有提示,但提示语前面会附加 “请匹配要求的格式”。如果浏览器是中文,提示语是英文,就会感觉怪怪的 这时我们可以通过setCustomValidity方法来自定义提示信息,更准确的提示给用户 <input type="text" pattern="[a-zA-Z]+" oninvalid="setCustomValidity('只能是字母')" />

Yii2出现错误&#039;Unable to verify your data submission&#039;的解决

匿名 (未验证) 提交于 2019-12-02 23:34:01
这个错误的提示很明确的,是说提交的数据验证不通过。出现这个错误的原因是Yii2框架本身的安全机制需要在提交表单时验证CSRF,这对于数据的安全性和防止表单的重复提交是简单并且有效的一种解决方案。 如果是用的Yii2自带的模型加ActiveForm全栈开发思想的模式,一般是不会遇到这种情况的。因为它会自动在表单里增加一个隐藏的name为_csrf的的字段,框架会从request中接收到值并进行验证。所以目前有两种方式解决: 1、在表单中手动添加一个标签,就像这样(个人比较推荐): <input type="hidden" name="_csrf" value="<?=Yii::$app->request->csrfToken?>" /> 2、在控制器中设置这一属性:public $enableCsrfValidation = false , 虽然这种办法也能解决问题,但是不够安全,关掉CSRF就等于少了一层安全机制。 文章来源: https://blog.csdn.net/beyondamos/article/details/90510465

使用iview 的表单组件验证 Upload 组件

匿名 (未验证) 提交于 2019-12-02 23:34:01
使用iview 的表单组件验证 Upload 组件 结果: 点击提交按钮, 没有填的 form 代码: <template> <div id="user_add"> <Modal v-model="build" title="新建" @on-cancel="AddData = {}" class-name="vertical-center-modal" > <Form ref="add" :model="AddData" :rules="AddRule" :label-width="90"> <FormItem label="apk文件" prop="file"> <Upload v-model="AddData.file" :before-upload="handleUpload" accept=".apk" :format="['.apk']" :max-size=102400 action="#" ref="upload" > <Button size="small">选择文件</Button> </Upload> <span style="margin-left: 10px"> 文件名称: <span v-if="AddData.file === null">未选择文件</span> <span v-if="AddData.file !== null">{{ AddData

H5表单标签属性使用小结

匿名 (未验证) 提交于 2019-12-02 23:32:01
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="" id="myForm"> <!--placeholder:提示文本,提示占位--> <!--autofocus:自动获取焦点--> <!--autocomplete:自动完成:on:打开 off:关闭 1.必须成功提交过:提交过才会记录 2.当前添加autocomplete的元素必须有name属性--> 用户名:<input type="text" name="userName" placeholder="请输入用户名" autofocus autocomplete="on"> <br> <!--tel并不会实现验证,仅仅是在移动端能够弹出数字键盘--> <!--required:必须输入,如果没有输入则会阻止当前数据提交--> <!--pattern:正则表达式验证 *:代表任意个 ?:代表0个或1个 +:代表1个或多个--> 手机号:<input type="tel" name="userPhone" required pattern="^(\+86)?1\d{10}$"> <br> <!--multiple:可以选择多个文件--> 文件:<input