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

  • 自己房子出租发布信息
  • 注册资本印花税减半征收政策
  • 开具增值税发票未报送是什么意思?
  • 取得发票与实际业务不符怎么办
  • 装修行业小规模纳税人增值税专票
  • 超市的库存商品分类混乱怎么看出来的
  • 经营者个人所得税申报
  • 如何确定固定资产的计税基础
  • 怎样填列分析资产负债表
  • 来料加工账务处理方法
  • 单位月工资总额
  • 关于销售返利的说法正确的有
  • 收购农产品销售会计分录怎么写
  • 个体工商户投资者减除费用
  • 出口退税换汇率多少是正常
  • 冲减往年收入会计分录
  • 应收票据背书转让以取得所需物资
  • a107040减免所得税优惠明细表2020
  • 资产无偿划转怎么开具发票
  • 银行 委托收款
  • 招待费进项税额转出在申报表
  • 设备加速折旧
  • 亿企代账怎么删除科目
  • 华为鸿蒙系统怎么看安卓版本
  • 如何win10家庭版升级专业版
  • 民间非盈利组织会计信息的使用者
  • PHP:xml_set_default_handler()的用法_XML解析器函数
  • 如何让电脑硬件损坏
  • 购货方收到红字发票计入进项税转出还是进项税额负数?
  • windows10护眼色设置
  • 房地产企业前期工程费包括什么项目
  • ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)
  • PHP:imagefontwidth()的用法_GD库图像处理函数
  • 坏账准备的会计准则规定
  • 开办分公司
  • 代扣增值税如何做账
  • php获取路径和目录的方法
  • 云计算技术是学什么的
  • 增值税发票查询结果不一致是什么意思
  • 广告费与业务宣传费范围
  • 嵌入html
  • Node.js——http模块和导出共享
  • mkdir命令怎么用
  • 借款凭证会计分录是什么
  • 未确认融资费用报表填在哪个科目
  • 教育咨询公司能开培训费发票吗
  • 抵账的多余款是什么科目
  • 工会经费计入什么项目流量表
  • 驾驶员培训费纳税吗
  • 视频制作开票属于现代服务吗?
  • 银行收的账户管理费
  • 境外企业分红到境内
  • 经营性租赁账务处理方法
  • 验资户和基本户账号一致么
  • 个人购买机动车需要交增值税吗
  • 误餐补助标准国家规定
  • 收付转三种凭证的限制类型不同所以限制科目也不同
  • 发票已开的情况下不确认收入可以吗?
  • 长期待摊费用可以摊销20年吗
  • win8电脑恢复系统怎么操作
  • 纸嫁衣6第四章攻略全文图解
  • ubuntu16.04命令行配置静态ip
  • win7系统连接VPN失败时提示错误代码721的故障分析及解决方法
  • 进程mmc.exe
  • SCP 方便的Linux文件互传
  • 虚拟机安装win8系统
  • windows 10预览版
  • 怎么用winrar打包压缩文件
  • python的文件操作中找不到文件应该如何处理
  • python自动发邮件内容
  • unity 摄像机
  • javascript基础教程pdf
  • jquery实现二级联动菜单
  • jquery easyui开发指南
  • Android 5.1 API 22 所有sdk文件下载地址
  • android 内部存储
  • 财税刘毅
  • 税务机关宣传
  • 吉林省耕地面积有多少万亩
  • 云南省代理记账管理实施办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设