位置: 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)

  • iphone7p ios13发烫解决办法(iphone7 13.5.1发烫)

    iphone7p ios13发烫解决办法(iphone7 13.5.1发烫)

  • dvdrom能刻光盘吗(dvd光驱可以刻录光盘吗)

    dvdrom能刻光盘吗(dvd光驱可以刻录光盘吗)

  • 苹果序列号dn开头是什么意思(苹果序列号DN开头好不好)

    苹果序列号dn开头是什么意思(苹果序列号DN开头好不好)

  • 无线鼠标dpi什么意思(无线鼠标dpi什么功能)

    无线鼠标dpi什么意思(无线鼠标dpi什么功能)

  • 联通光猫恢复出厂设置后不能上网了(联通光猫恢复出厂设置后怎么设置)

    联通光猫恢复出厂设置后不能上网了(联通光猫恢复出厂设置后怎么设置)

  • soul注销期间好友发信息(soul注销后瞬间会一条条没有吗)

    soul注销期间好友发信息(soul注销后瞬间会一条条没有吗)

  • 动铁耳机的寿命(动铁耳机的寿命是多久)

    动铁耳机的寿命(动铁耳机的寿命是多久)

  • 苹果11定时开关机怎么设置(苹果11定时开关机正确方法)

    苹果11定时开关机怎么设置(苹果11定时开关机正确方法)

  • 不是管理员怎么@所有人(不是管理员怎么把人移出群)

    不是管理员怎么@所有人(不是管理员怎么把人移出群)

  • 苹果电脑和普通电脑有什么区别(苹果电脑和普通电脑游戏互通吗)

    苹果电脑和普通电脑有什么区别(苹果电脑和普通电脑游戏互通吗)

  • 苹果7刷机模式怎么按(苹果7刷机模式错误4013什么意思)

    苹果7刷机模式怎么按(苹果7刷机模式错误4013什么意思)

  • 无线耳机只有一只耳机有声音怎么办(无线耳机只有一个响另外一个不响)

    无线耳机只有一只耳机有声音怎么办(无线耳机只有一个响另外一个不响)

  • 第3代电子计算机使用的电子元件是(第3代电子计算机的主要组成元件是)

    第3代电子计算机使用的电子元件是(第3代电子计算机的主要组成元件是)

  • 安全模式怎么解除魅族(安全模式怎么解除华为)

    安全模式怎么解除魅族(安全模式怎么解除华为)

  • 快手自己作品置顶方法(快手自己作品置顶在哪里)

    快手自己作品置顶方法(快手自己作品置顶在哪里)

  • 荣耀20怎么清理运行内存(荣耀20怎么清理正在运行程序)

    荣耀20怎么清理运行内存(荣耀20怎么清理正在运行程序)

  • word文档为什么不能编辑了(word文档为什么一行不满就换行了怎么改)

    word文档为什么不能编辑了(word文档为什么一行不满就换行了怎么改)

  • 美篇的背景图片怎么弄(美篇的背景图片制作方法和步骤)

    美篇的背景图片怎么弄(美篇的背景图片制作方法和步骤)

  • 三星s8充电器多少w(三星s8十原装充电器功率)

    三星s8充电器多少w(三星s8十原装充电器功率)

  • 滔搏小程序怎么添加店铺(滔搏小程序怎么取消退款)

    滔搏小程序怎么添加店铺(滔搏小程序怎么取消退款)

  • opporeno和renoz的区别(opporeno和opporenoz的区别)

    opporeno和renoz的区别(opporeno和opporenoz的区别)

  • 运行安装vue3+vite+Ts项目报错,无法加载vite.config.ts文件(failed to load config from D:\XXX\vite.config.ts)(运行安装程序时发生错误)

    运行安装vue3+vite+Ts项目报错,无法加载vite.config.ts文件(failed to load config from D:\XXX\vite.config.ts)(运行安装程序时发生错误)

  • 使用Vue+axios+Vuex实现登录后前端数据本地化存储实战(使用二氧化碳灭火器时人应该站在什么位置)

    使用Vue+axios+Vuex实现登录后前端数据本地化存储实战(使用二氧化碳灭火器时人应该站在什么位置)

  • 脑电EEG代码开源分享 【4.特征提取-频域篇】(egi脑电数据处理)

    脑电EEG代码开源分享 【4.特征提取-频域篇】(egi脑电数据处理)

  • 简易征收办法征税货物销售额
  • 最新劳务报酬的个税计算方法?
  • 过路费抵扣进项税填在申报表哪里
  • 发票上的金额是什么字体
  • 广告公司可以开劳务费吗
  • 新开商贸公司怎么做账和报税
  • 预支差旅费属于什么凭证
  • 材料亏损怎么做会计分录?
  • 挂靠工程支付货款会计分录怎么写?
  • 该企业本月发生如下经济业务
  • 开票交税当月不确认收入如何做账?
  • 抵押车贷款会不会扣车
  • 公司清算往来科目应该怎么处理?
  • 字节跳动属于什么类型的企业
  • 个人账户可以转公户吗?
  • 个人所得税期末为负数审计调整
  • 加油费发票7月1日开具
  • 政府收取的工程物资
  • 冲减增值税销项税额
  • 应纳增值税计算公式怎么算
  • 技术调试费用开几个点税
  • 研发费用入账
  • 收据是否当月入帐
  • 酒店另外收电费
  • 电子商业汇票会有异地贴现吗
  • 压缩包损坏修复软件
  • 小型微利企业的企业所得税优惠政策
  • 电商运费怎么做账
  • 工程公司更换单位怎么办
  • macbook通知中心设置
  • 2022年苹果iphone14一个几个颜色
  • PHP:curl_multi_getcontent()的用法_cURL函数
  • 工程材料怎么开票
  • 最贵的冰箱是多少钱
  • php session_id
  • vue 移动端
  • 购买的固定资产退回账务处理
  • 企业向个人租房子需要缴纳什么税
  • 计算机视觉竞赛很重要吗
  • python opencv如何获取图片尺寸
  • 销售商品的收入属于收入吗
  • 增值税普通发票怎么开
  • python中字典的键有何要求
  • 企业的业务招待费属于什么费用
  • 人工成本与工资的关系
  • 企业怎样合理避税详述
  • 对公账户给别人走账
  • 公益事业捐赠有哪些税收优惠政策
  • 企业现金购货限额
  • 多交了社保
  • 计时工资和计件工资的含义
  • 补交增值税如何入账
  • 实务操作中如何快速记忆
  • ef使用sql语句
  • sql sever实验指导
  • Linux下mysql5.6.33安装配置教程
  • 自动保存怎么恢复
  • win7旗舰版怎么改成专业版
  • mac修改默认系统
  • linux系统漏洞总结
  • win8.1 应用商店是不是不能用了
  • linux默认文件大小
  • 如何删除win8系统
  • jQuery ajax读取本地json文件的实例
  • android yield
  • async/await与promise(nodejs中的异步操作问题)
  • Node.js中的什么模块是用于处理文件和目录的
  • jQuery用FormData实现文件上传的方法
  • python第三方库文档怎么看
  • [置顶]星陨计划
  • js模拟new
  • 编写javascript代码
  • 手把手教你打造班级主题环境 培训后心得
  • 个人以土地投资入股都需缴纳哪些税
  • 研发人员范围
  • 云南省国家税务总局
  • 重庆新电子税务局入口
  • 请问报考国家税务局难吗
  • 会计审计和税务服务属于什么税目
  • 土地交的契税会计科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设