el-form自定义校验写法

el/2023/6/3 15:10:59
<el-form ref="perfectInfo"   :model="perfectData" //所有form表单中的值全放到此JSON中 label-width="90px"  :rules="rulesPerfectData" //定义校验规则class="page-form secondForm"><el-form-item prop="realName" label="真实姓名"><el-input v-model="perfectData.realName" placeholder="请输入真实姓名"></el-input></el-form-item><el-form-item style="margin-left:-80px;" class="confirmBtn"><el-button @click="perfectInformation" type="success" style="width:100%;">确认激活</el-button></el-form-item>
</el-form>

js部分:

<script>export default{data(){//定义自定义表单验证,else必须callback()否则点击确认执行按钮无法校验拦截,会直接进 //入下一步var checkName=(rule,value,callback)=>{let nameZz= /^[a-zA-Z\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/;if(!value){return callback(new Error('姓名不能为空'));}else if(!nameZz.test(value)){return callback(new Error('姓名格式不正确'))}else{callback();}};return{perfectData:{realName:''},//执行校验rulesPerfectData:{realName:[//此写法是执行上面定义的校验规则{required:true,validator:checkName,trigger:'blur'},//此写法默认校验值不能为空{required:true,message:'姓名不能为空',trigger:'blur'}]}},methods:{perfectInformation(){this.$refs[perfectInfo'].validate(async (valid)=>{if(valid){//校验通过valid为trueconsole.log(‘校验通过’);}})}}  }
</script>

 

http://www.ngui.cc/el/3419124.html

相关文章

Vue解决使用window.onscroll时报 Uncaught TypeError: 相关错误

Uncaught TypeError: Cannot read property offsetLeft of undefinedat window.onscroll 正常业务场景&#xff1a; mounted() {window.οnscrοll(()>{let sonBoxdocument.getElementsByName(sonBox) ;this.yxzyLeftsonBox[0].offsetLeftsonBox[0].clientWidth-100px ;i…

uniApp实现Tab切换,及监听滚动设置Tab固定,Tab内容可滚动

一.实现tab切换调用,使用插件TABS,此插件使用了Stylus预处理 问题&#xff1a;1.需要下载 Stylus 2.tabs.vue里的bus.$emit需要注释掉 3.当滑动到最后一个tabpanel时标题底部会出现滚动条&#xff0c;解决方式在App添加此代码&#xff1a; div::-webkit-scrollbar { …

echarts柱状图的使用积累

echarts柱状图的使用 功能包括&#xff1a;自定义tooltip显示&#xff0c;自定义标注&#xff0c; let myChartsthis.$echarts.init(document.getElementById(ranking)); myCharts.setOption({//设置鼠标移入显示提示窗tooltip: {trigger:axis,**自定义tooltip**formatter(pa…

Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>)

是转换出错&#xff0c;也就是说本是 JSON 字符串&#xff0c;但是其实是一个空对象。所以我们只要在使用 JSON.parse () 前&#xff0c;判断下是否有值若为非空则执行JSON.parse

实现上滑列表图片放大进入,缩小放大后隐藏效果

讲解&#xff1a; HTML 的部分 打开 CodePen 编辑器&#xff0c;在 HTML 的部份加入标题。由于它有一个副标题&#xff0c;所以我会用 <p>标签去装着它。然后加入一个 <div>&#xff0c;id 名为 iphone&#xff0c;里面新增两个 <div>&#xff0c;id 分别是 …

解决uniapp的checkBox取消选中

<checkbox-group change"selectUniverSity" checked><checkbox v-for"(item,index) in universityTypes" class"m-2":key"item.typeId":value"item.typeId" <!--每次触发一次多选则向checkUnType追加一次&#…

uniApp设置安卓手机真机调试

use连接手机&#xff0c;会出现相关USB相关设置需要选择MIDI模式或其他带M的模式&#xff0c; 之后选择手机设置中的关于手机&#xff0c;多次点击手机版本&#xff0c;出现已打开开发者模式选项 在设置中找到开发这选项&#xff0c;选择USB调试即可

十几个CSS高级常见技巧汇总(placeholder,虚线框、三角形、优惠券卡券、滚动条、多行溢出...)

设置input的placeholder的字体样式 单行和多行文本超出省略号 负边距使用技巧 定位同时设置方位情况 相邻兄弟选择器之常用场景 outline属性的妙用技巧 隐藏滚动条或更改滚动条样式 纯CSS绘制三角形 虚线框绘制技巧 卡券效果制作 隐藏文本的常用两种方法 表格边框合…

uniapp中使用百度API实现全景地图(仅支持H5)

首先需要新建一个js bMap.js export function map(()>{ //由于要执行引入的script加载&#xff0c;所以要执行init每次引用次方法都触发 window.init(()>{ //传入使用当前方法&#xff0c;resolve执行成功返回结果then向下执行 resolve(map); }) return new Promise(()&g…