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

  • 夏天空调开多少度省电(夏天空调开多少度)(夏天空调开多少度最凉快)

    夏天空调开多少度省电(夏天空调开多少度)(夏天空调开多少度最凉快)

  • 联通怎么取消流量包自动续费(联通怎么取消流量叠加包)

    联通怎么取消流量包自动续费(联通怎么取消流量叠加包)

  • 国家反诈中心短信预警怎么开启(国家反诈中心短信提醒怎么回事?)

    国家反诈中心短信预警怎么开启(国家反诈中心短信提醒怎么回事?)

  • 荣耀x10摄像头升起来的方法是什么(荣耀x10摄像头升级教程)

    荣耀x10摄像头升起来的方法是什么(荣耀x10摄像头升级教程)

  • 小米10自带膜是钢化膜的吗(小米10自带手机膜怎么样)

    小米10自带膜是钢化膜的吗(小米10自带手机膜怎么样)

  • WPS怎么把一个单元格的内容拆分成不同的行(wps怎么把一个单元格分成左右两个)

    WPS怎么把一个单元格的内容拆分成不同的行(wps怎么把一个单元格分成左右两个)

  • 米10青春版和米10区别(米10和米10青春版哪个好)

    米10青春版和米10区别(米10和米10青春版哪个好)

  • 抖音删除作品点赞还在(抖音删除作品点赞会消失吗)

    抖音删除作品点赞还在(抖音删除作品点赞会消失吗)

  • 荣耀30是双卡双待吗(荣耀30是双卡双待5G吗?)

    荣耀30是双卡双待吗(荣耀30是双卡双待5G吗?)

  • 云闪付收不到手机验证码(云闪付收不到手机验证码怎么办小米)

    云闪付收不到手机验证码(云闪付收不到手机验证码怎么办小米)

  • 怎么让微信一直运行不关闭(怎么让微信一直通话中)

    怎么让微信一直运行不关闭(怎么让微信一直通话中)

  • id和密码都对为何无法激活(苹果id和密码对着为啥提示不对)

    id和密码都对为何无法激活(苹果id和密码对着为啥提示不对)

  • 小米note5怎么没有开发者选项(小米note5g手机)

    小米note5怎么没有开发者选项(小米note5g手机)

  • 华为手机怎么关闭最近使用(华为手机怎么关空调)

    华为手机怎么关闭最近使用(华为手机怎么关空调)

  • 淘宝不支持7天能退款吗(淘宝不支持7天无理由退换)

    淘宝不支持7天能退款吗(淘宝不支持7天无理由退换)

  • WPS文字如何改变文字方向(wps文字怎么改变文字方向)

    WPS文字如何改变文字方向(wps文字怎么改变文字方向)

  • Wi-Fi认证完成了三星即将推出的12英寸的Windows 1(wifi认证失败怎么办)

    Wi-Fi认证完成了三星即将推出的12英寸的Windows 1(wifi认证失败怎么办)

  • 笔记本如何进行权限设置?(笔记本如何进行截图)

    笔记本如何进行权限设置?(笔记本如何进行截图)

  • Win11 Dev预览版 22509更新发布(附更新内容大全)(win11dev预览版可以升级正式版吗)

    Win11 Dev预览版 22509更新发布(附更新内容大全)(win11dev预览版可以升级正式版吗)

  • python 下载 国内(python国内下载地址)

    python 下载 国内(python国内下载地址)

  • 企业投资收益要开发票吗
  • 合伙企业缴纳的是什么税
  • 居民个税和非居民个税哪个高
  • 税务机关内部控制措施
  • 怎么增加资产减少负债
  • 直接人工费用属于固定成本吗
  • 0税率发票有什么用
  • 哪些企业需要纳税
  • 讲师讲课费标准2019
  • 其他应收款款项性质有哪几种
  • 开具红字增值税专用发票是什么意思
  • 代扣个人所得税现金流入哪个科目?
  • 会计成本核算工作内容
  • 视同销售收入计入会计利润吗
  • 子女教育专项附加扣除是什么意思
  • 代发工资开票内容
  • 收到政府划拨的固定资产会计处理
  • 企业所得税清算期间
  • 24个问题
  • 银行处置以物抵债违法吗
  • 进口设备的重置成本包括什么
  • 股票现金分红
  • 企业自然人电子税务局怎么申报
  • 苹果电脑macbookpro使用教程
  • 原材料盘亏计入
  • php获取文件扩展内容
  • 电脑连上WiFi上不了网怎么办?
  • 房屋租赁进项税
  • 公司买了一辆二手汽车,怎么入账
  • 太超过了
  • 经营租入固定资产的租赁费计入
  • 在建工程账务处理包括哪些内容
  • 应收款减少怎么做账
  • 收到现金货款存入银行会计分录
  • 一次性劳务报酬所得如何扣税
  • 阿里云主机php版本
  • vue角色管理
  • 应收账款提了坏账后收回
  • 大型广告牌制作材料
  • c 语言 static
  • 织梦使用手册
  • 未达起征点附加税还需要扣税嘛
  • 财务负责人需要工商登记吗
  • row number函数的使用场景
  • 对于在某一时点履行的履约义务,企业应当在客户
  • 残疾人残保金如何计算
  • 关联方往来款账务处理
  • 工会经费的开支必须取得发票么
  • 年中未分配利润
  • 股东向公司借款多久必须归还
  • 税收滞纳金的问题有哪些
  • 向非金融企业借款会计分录
  • 企业主要的工会是什么
  • 英语培训机构成人浦口区
  • 施工图审查费计算公式
  • 来料加工企业的辅助材料自购怎开销售发票
  • mysql5.7.27安装教程
  • 按关键字13,24,37,90,53,34
  • ie10工具栏在哪
  • 苹果15手机价格和图片颜色
  • 虚拟机安装win7一直卡在完成安装
  • centos7.6有线连接
  • nfs网络安装
  • windows8怎么设置
  • python 如何生成随机数
  • 全面理解全面把握全面落实
  • javascript的
  • mark一下怎么用
  • js中的date函数
  • jquery实现全选全不选
  • js对象的常用方法
  • jQuery.Callbacks()回调函数队列用法详解
  • 税控盘升级后开票流程
  • 辽宁省大连市国家运动员
  • 北京税务网点
  • 全国增值税发票查验平台官网手机
  • 国税局江西省税务局
  • 广西定额发票查询入口官网
  • 国家税务总局中山市税务局港口税务分局
  • 双休日可以拿房产证吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设