vue针对ele的form组件校验
场景1:form表单下的table指定列校验非空
form表单包含了 el-table列表的对应列校验,那么将 e-table-column指定列下 ,增加 el-formo-item校验规则,如下:
<el-form-item label-width="0" :prop="'specGoodsPrices.' + scope.$index + '.storeCount'" :rules="[{required: true, message: '必填项不能为空'}]"><el-input type="number" min="0" size="small" v-model="scope.row.storeCount" ></el-input>
</el-form-item>
1、el-form-item的
:prop校验属性的设置,specGoodsPrices是this.form.specGoodsPrices表格list数据,
scope.$index 区分 表格所属第几行,标识此行此列是form表单的唯一校验项
storeCount:是table的列字段
场景2:自定义校验table指定列,并且触发校验相关联的其它table列
<el-form-item label-width="0" :prop="'specGoodsPrices.' + scope.$index + '.price'" :rules="[{validator: ((rule, value, callback,item,rowIndex) =>validateSkuMarketPrice(rule, value, callback,scope.row,scope.$index) ), trigger: 'blur' }]" > <el-input ref="market-price-fItem" :min=0 size="small" title="需大于0且保留两位小数的金额格式" style="max-width:160px;" v-model="scope.row.price" ></el-input>
</el-form-item>
validateSkuMarketPrice(rule,value,callback,row,rowIndex){if(value == ""){callback(new Error('必填项不能为空'));}else{//负数校验let reg2 = /^-(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;if(reg2.test(value)){callback(new Error("金额需为非负数"));}let reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;if(!reg.test(value)){callback(new Error("金额格式不正确"));}//校验门店进货价、零售价 做价格比较, 规则: 零售价>=门店进货价 if(row.shopPrice && !reg2.test(row.shopPrice) && row.price<row.shopPrice ){callback(new Error('不能低于门店价'));}else{ this.$refs["goodsForm"].validateField('specGoodsPrices.'+rowIndex+'.shopPrice');callback();}}
},
其中 this.$refs["goodsForm"].validateField('specGoodsPrices.'+rowIndex+'.shopPrice'); 就是触发el-table门店价格的校验,同时显示新的校验结果信息
说明:goodsForm是el-form的 ref定义,如下
<el-form ref="goodsForm" :model="form" label-width="150px" size="small">
</el-form>
vue针对ele的form组件校验相关推荐
- VUE 中 使用 iview Form组件 enter键防止页面刷新
<Form :label-width="100" inline label-position='left' @keydown.native.enter.prevent =&q ...
- form组件、cookie、session机制
一.django form组件 1.渲染标签 2.校验数据 3.展示信息 校验数据: 第一步需要一个form类 from django import formsclass MyForm(forms.F ...
- Django之form组件!
一.手动实现注册功能 注册功能1.渲染前端标签获取用户输入 >>> 渲染标签2.获取用户输入传递到后端校验 >>> 校验数据3.校验未通过展示错误信息 >& ...
- 手把手教你用Vue.js封装Form组件
前言: 在日常使用vue开发WEB项目中,经常会有提交表单的需求.我们可以使用 iview 或者 element 等组件库来完成相关需求:但我们往往忽略了其中的实现逻辑,如果想深入了解其中的实现细节, ...
- django12:form 组件/渲染标签/数据校验/钩子函数/
基本用法 from django import forms# 自己写一个类 class RegForm(forms.Form):username= forms.CharField(min_length ...
- Django之form组件is_valid校验机制
#先来归纳一下整个流程 #(1)首先is_valid()起手,看seld.errors中是否值,只要有值就是flase #(2)接着分析errors.里面判断_errors是都为空,如果为空返回sel ...
- vue之ele组件中input表单限制输入字符
目录 vue之ele组件中input表单限制输入字符 input只能输入 数字 input 只能输入中文 vue之ele组件中input表单限制输入字符 input只能输入 数字 <!-- 描述 ...
- antd vue form 手动校验_Ant Design 4.0 的一些杂事儿 - Form 篇
上一篇:Ant Design 4.0 的一些杂事儿 - Table 篇 是的,趁着手热,于是又开了一篇新的文章,用来讲讲我们在开发 Ant Design 4.0 的 Form 时遇到的一些杂事儿.当然 ...
- 使用vue+iview Form组件 按enter键阻止页面刷新
如果我们在Form组件中嵌套使用Input组件的时候,会有一个小问题,如果我们在一个Form组件中只使用了一个Input组件,当该Input组件获取焦点的时候,我们按enter键,整个页面会刷新 解决 ...
- 【分享】Vue 资源典藏(UI组件、开发框架、服务端、辅助工具、应用实例、Demo示例)...
Vue 资源典藏,包括:UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和 ...
最新文章
- JS ajax请求参数格式( formData 、serialize)
- 快应用比赛_我的应用如何在国际学生比赛中获得第三名
- 使用router-view时组件之间的通信
- android tasker,Tasker:Android系统增强神器
- 了解这些后设计输入框原来这么简单
- Navicat Premium 安装
- 数据引用Data References
- MongoDB实战-面向文档的数据(找到最合适的数据建模方式)
- gpg: verify signatures failed: 文件打开错误
- Windows10永久关闭自动更新,禁止windows10自动更新方法!
- 蓝牙数字密钥建立在过去实践的基础上, 以创造更安全的未来
- 手把手教你获得CSDN徽章:CSDN IT冷知识 每日一练
- Oracle标准成本差异,标准成本与实际成本比较
- Outlook2013 邮件签名设置
- 2020年春节抢票神器
- 招聘网站数据分析岗位数据分析(Excel实现)
- MSDB数据库置疑状态的解决方法
- 【软考数据库】第五章 计算机网络
- 关于高压线路如何防山火
- SuperMap iDesktop常见问题解答集锦(五)
热门文章
- 【中医学】11 常见病证-1:感冒:咳嗽:泄泻:水肿:淋证:心痛
- 用python做youtube自动化下载器 代码
- 用java求梯形面积
- 用python画满天星_Python用27行代码绘制一幅满天星
- ini更改文件夹图标
- java出名的外国文献_三大牛人看外国文献的方法(搜索无重复) - 论文投稿 - 小木虫 - 学术 科研 互动社区...
- 论文翻译(上):Deep Learning Based Semantic Labelling of 3D Point Cloud in Visual SLAM
- C语言中心对称图形定义,中心对称图形的定义
- 去哪儿网2018春招软件开发工程师、前端开发工程师编程题 - 题解
- python做表格教程_(0基础如何快速入门Python)python表格入门教程