位置: IT常识 - 正文

vue表单验证rules以及validator验证器的使用(vue表单验证数字)

编辑:rootadmin
vue表单验证rules以及validator验证器的使用

推荐整理分享vue表单验证rules以及validator验证器的使用(vue表单验证数字),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue表单验证插件,vue表单验证代码,vue表单验证代码,vue表单验证数字,vue表单验证插件,vue表单验证不起作用,vue表单验证规则,vue表单验证不起作用,内容如对您有帮助,希望把文章链接给更多的朋友!

为防止用户犯错,尽可能更早地发现并纠正错误。

Element中Form (表单)组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。

注意:prop对应表单域 model 字段,使用 validate方法时,该属性是必填的。

表单验证rules

以官网给出的例子分析来看

将prop 属性设置为需校验的字段名。

 在data里配置要校验字段和校验规则:

required:true表示为必须输入;

message:""设置不符合校验规则时的提示信息;

trigger:""设置校验的触发方式:

        ‘change’:数据改变时触发;

        ‘blur’:失去焦点时触发;

vue表单验证rules以及validator验证器的使用(vue表单验证数字)

        没有进行任何输入时,不会触发change,但一定会触发blur事件。

设置校验规则后,表头会出现红色*样式

该示例完整代码:

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="活动名称" prop="name"> <el-input v-model="ruleForm.name"></el-input> </el-form-item> <el-form-item label="活动区域" prop="region"> <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> <el-option label="区域一" value="shanghai"></el-option> <el-option label="区域二" value="beijing"></el-option> </el-select> </el-form-item> <el-form-item label="活动时间" required> <el-col :span="11"> <el-form-item prop="date1"> <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.date1" style="width: 100%;"></el-date-picker> </el-form-item> </el-col> <el-col class="line" :span="2">-</el-col> <el-col :span="11"> <el-form-item prop="date2"> <el-time-picker placeholder="选择时间" v-model="ruleForm.date2" style="width: 100%;"></el-time-picker> </el-form-item> </el-col> </el-form-item> <el-form-item label="即时配送" prop="delivery"> <el-switch v-model="ruleForm.delivery"></el-switch> </el-form-item> <el-form-item label="活动性质" prop="type"> <el-checkbox-group v-model="ruleForm.type"> <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> <el-checkbox label="地推活动" name="type"></el-checkbox> <el-checkbox label="线下主题活动" name="type"></el-checkbox> <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> </el-checkbox-group> </el-form-item> <el-form-item label="特殊资源" prop="resource"> <el-radio-group v-model="ruleForm.resource"> <el-radio label="线上品牌商赞助"></el-radio> <el-radio label="线下场地免费"></el-radio> </el-radio-group> </el-form-item> <el-form-item label="活动形式" prop="desc"> <el-input type="textarea" v-model="ruleForm.desc"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button> </el-form-item></el-form><script> export default { data() { return { ruleForm: { name: '', region: '', date1: '', date2: '', delivery: false, type: [], resource: '', desc: '' }, rules: { name: [ { required: true, message: '请输入活动名称', trigger: 'blur' }, { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } ], region: [ { required: true, message: '请选择活动区域', trigger: 'change' } ], date1: [ { type: 'date', required: true, message: '请选择日期', trigger: 'change' } ], date2: [ { type: 'date', required: true, message: '请选择时间', trigger: 'change' } ], type: [ { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' } ], resource: [ { required: true, message: '请选择活动资源', trigger: 'change' } ], desc: [ { required: true, message: '请填写活动形式', trigger: 'blur' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); } } }</script>自定义校验规则

除此之外,我们还可以使用validator验证器来自定义校验规则,

举一个使用自定义验证规则来完成密码的二次验证的例子。

还是和之前一样,设置prop需校验的字段名和v-model绑定值

 但这时,我们需要在data中自己定义校验规则,需要注意的是,设置的规则与return同级。

 在rules中配置要校验的字段和用到的规则

 

完整代码如下:

<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="密码" prop="pass"> <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input> </el-form-item> <el-form-item label="确认密码" prop="checkPass"> <el-input type="password" v-model="ruleForm.checkPass" autocomplete="off"></el-input> </el-form-item> <el-form-item label="年龄" prop="age"> <el-input v-model.number="ruleForm.age"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button> <el-button @click="resetForm('ruleForm')">重置</el-button> </el-form-item></el-form><script> export default { data() { var checkAge = (rule, value, callback) => { if (!value) { return callback(new Error('年龄不能为空')); } setTimeout(() => { if (!Number.isInteger(value)) { callback(new Error('请输入数字值')); } else { if (value < 18) { callback(new Error('必须年满18岁')); } else { callback(); } } }, 1000); }; var validatePass = (rule, value, callback) => { if (value === '') { callback(new Error('请输入密码')); } else { if (this.ruleForm.checkPass !== '') { this.$refs.ruleForm.validateField('checkPass'); } callback(); } }; var validatePass2 = (rule, value, callback) => { if (value === '') { callback(new Error('请再次输入密码')); } else if (value !== this.ruleForm.pass) { callback(new Error('两次输入密码不一致!')); } else { callback(); } }; return { ruleForm: { pass: '', checkPass: '', age: '' }, rules: { pass: [ { validator: validatePass, trigger: 'blur' } ], checkPass: [ { validator: validatePass2, trigger: 'blur' } ], age: [ { validator: checkAge, trigger: 'blur' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); } } }</script>
本文链接地址:https://www.jiuchutong.com/zhishi/288942.html 转载请保留说明!

上一篇:伦索伊斯马拉年塞斯国家公园,巴西巴雷里尼亚斯市 (© WIN-Initiative/Getty Images)(伦索伊斯马拉赫塞斯国家公园)

下一篇:pytorch对已有模型的更改(常用的操作)(pytorch model.module)

  • 安卓手机如何打开.ashx文件(安卓手机如何打开OTG功能)

    安卓手机如何打开.ashx文件(安卓手机如何打开OTG功能)

  • 代码769什么问题(769错误代码是什么意思)(代码6967)

    代码769什么问题(769错误代码是什么意思)(代码6967)

  • 知乎怎么匿名评论别人的回答(知乎怎么匿名评价别人的评论内容)

    知乎怎么匿名评论别人的回答(知乎怎么匿名评价别人的评论内容)

  • 微信无法更新到最新版本怎么办(微信无法更新到最新版本)

    微信无法更新到最新版本怎么办(微信无法更新到最新版本)

  • 怎么打开微信运动(怎么打开微信运动步数一直是0)

    怎么打开微信运动(怎么打开微信运动步数一直是0)

  • 手机卡空号了充话费可以吗(手机卡空号了充值话费进去还有用吗)

    手机卡空号了充话费可以吗(手机卡空号了充值话费进去还有用吗)

  • 小米折叠手机什么时候上市(小米折叠手机什么时候发布)

    小米折叠手机什么时候上市(小米折叠手机什么时候发布)

  • qq表情托腮是什么意思(qq表情的托腮是什么意思)

    qq表情托腮是什么意思(qq表情的托腮是什么意思)

  • 手机的勿扰模式有什么作用(手机的勿扰模式在哪里设置)

    手机的勿扰模式有什么作用(手机的勿扰模式在哪里设置)

  • ipad第三代是ipad几(ipad第三代是什么尺寸)

    ipad第三代是ipad几(ipad第三代是什么尺寸)

  • 水印相机怎么不能摄像(水印相机怎么不保存在相册)

    水印相机怎么不能摄像(水印相机怎么不保存在相册)

  • html表格居中怎么设置(html表格设置居中)

    html表格居中怎么设置(html表格设置居中)

  • 手机怎么把照片背景变白(手机怎么把照片缩小到200k)

    手机怎么把照片背景变白(手机怎么把照片缩小到200k)

  • 单模模块和多模模块的区别(单模模块和多模模块怎么区分)

    单模模块和多模模块的区别(单模模块和多模模块怎么区分)

  • 荣耀jmmal00什么型号(荣耀jkmtl00什么型号)

    荣耀jmmal00什么型号(荣耀jkmtl00什么型号)

  • 为什么微信语音通话自动挂断(为什么微信语音会黑屏)

    为什么微信语音通话自动挂断(为什么微信语音会黑屏)

  • 怎么删除小爱同学的搜索栏(怎么删除小爱同学)

    怎么删除小爱同学的搜索栏(怎么删除小爱同学)

  • 拼多多主图尺寸(拼多多主图尺寸大小是1:1吗)

    拼多多主图尺寸(拼多多主图尺寸大小是1:1吗)

  • 豆瓣如何取消想看(豆瓣如何取消想看的剧)

    豆瓣如何取消想看(豆瓣如何取消想看的剧)

  • 如何增加微博粉丝技巧(如何增加微博粉丝)

    如何增加微博粉丝技巧(如何增加微博粉丝)

  • 为什么最右会停止运行(最右怎么回事)

    为什么最右会停止运行(最右怎么回事)

  • js实现web页面扫描二维码(html5-qrcode)(html 调用扫码)

    js实现web页面扫描二维码(html5-qrcode)(html 调用扫码)

  • 绿萝的养殖方法和注意事项——办公室养殖版(图文)(大型绿萝的养殖方法)

    绿萝的养殖方法和注意事项——办公室养殖版(图文)(大型绿萝的养殖方法)

  • MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

    MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】(mnist数据集下载码)

  • 猿创征文|前端到全栈,一名 IT 初学者的学习与成长之路(猿厂猿作设计机构招聘)

    猿创征文|前端到全栈,一名 IT 初学者的学习与成长之路(猿厂猿作设计机构招聘)

  • 税后经营净利润怎么求
  • 增值税发票税务ukey版开票流程
  • 增值税怎么记
  • 年终奖影响社保公积金基数吗
  • 去年缴纳印花税忘记做账了怎么办呢
  • 支付的检测费计入什么科目
  • 资产负债表损益表模板
  • 一般纳税人要做价税分离吗
  • 红字发票信息表是销方还是购方开
  • 增值税普票没有校验码
  • 收到客户银行按时到账
  • 调拨入库的固定资产是否缴税?
  • 收到红字发票会计处理
  • 投资者撤回投资额300000
  • 企业年金的税收政策
  • 季度末需要结转什么科目
  • 定率征收多缴的企业所得税怎么计算?
  • 离职补偿金如何计算
  • 关于进项税额转出的规定
  • 企业为员工购买团体医疗险可以全额税前扣除
  • 可供出售金融资产属于流动资产吗
  • 公司购买的办公桌椅属于固定资产吗
  • 计提小规模增值税的账务处理
  • 电脑开机自动进入bios怎么解决
  • 华为手机进入recovery模式怎么退出
  • 上个月转出的进项税,下个月申报
  • 劳务费意思
  • 接的网线影响传输吗
  • php中的类
  • 土地增值税清算全流程实战案例
  • 财政补助收入的会计分录
  • 外贸企业有哪些公司青岛
  • 员工工伤保险报销条件
  • g++.exe error
  • 公司土地被政府占用
  • 外请培训老师的路费谁承担
  • ROS2+cartographer+激光雷达+IMU里程计数据融合(robot_locazation) 建图
  • 行政单位捐赠会计分录怎么做的
  • php获取post请求参数
  • 饭店的手撕发票可以报销吗
  • 福利费专用发票如何账务处理
  • 2023年最新最全税率表
  • php判断文件是否存在的函数
  • 补缴以前年度企业所得税如何做账
  • 待摊费用和预提费用属于什么账户
  • 制造业属不属于第二产业
  • 代发工资的账务处理需要什么资料
  • php swoole 协程
  • 酒店打印要钱吗
  • 公司分期付款购车怎么做账
  • 母公司和子公司是什么关系
  • 不签订购销合同的后果
  • 发票做帐有什么用
  • 疫情期间购买消毒弥雾机的请示
  • 小企业核算方式选独立核算
  • 税务代扣社保怎么办理?
  • mysql innode
  • 如何恢复win8系统
  • windows vista home basic
  • explorer.exe中文叫什么
  • linux中修改root密码
  • win8.1死机卡住不动
  • mac无线打印
  • win8怎么打开磁盘管理
  • JavaScript中的方法名不区分大小写
  • linux运维是必死之路
  • Unity3D游戏开发培训课程大纲
  • js获取父级元素
  • js的document.getelembyid
  • awk命令使用什么变量存储行号
  • jquery中的siblings方法
  • js表单序列化
  • python sftp put
  • js date对象构造方法
  • BootStrap glyphicon图标无法显示的解决方法
  • python极简讲义pdf
  • python class
  • js随机生成一个整数
  • 教育附加费网上缴费
  • 杨柳青还迁房2024年还建不建
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设