【vue】rules校验规则简单描述

以ant举个例子

java 复制代码
<a-form-model :model="form"  layout="inline"  :rules="rules"
                      ref="portRuleForm">
</a-form-model>

这里面重要的字段有几个rules model ref

现在有个时间框要校验,先写好代码

java 复制代码
<a-form-model-item label="基准日期" prop="baseDate">
                        <a-date-picker class="jy-wfull" v-model="form.baseDate" />
                    </a-form-model-item>

这里的modelform.baseDate 对应上面的model="form",所以我们的propbaseDate,注意要校验那个字段,就去写哪个model名字在prop

下面描述下规则,这个要写data里面

java 复制代码
rules: {
                    baseDate: [
                        { required: true, message: '请选择时间', trigger: 'change' },
                    ]
       }

这个是简单点的,如果自定义规则

java 复制代码
baseDate: [
                        { required: true, message: '请选择时间'},
                        { validator: this.validateBaseDate, trigger: 'change' }
          ],

然后我们在methods里写入方法

java 复制代码
validateBaseDate(rule, value, callback) {
                if(!this.form.XXXX){
                    callback(new Error('请选择时间'));
                }else{
                    callback();
                }
            },

最后是提交的时候加入判断

java 复制代码
savePortRule() {
                this.$refs.portRuleForm.validate((valid) => {
                    if (valid) {
                        XXXX提交到后端
                    }
                })
            },

这里的portRuleForm是最上面a-form-model里的ref的值

相关推荐
是立不是利14 分钟前
大文件导致请求被拒的连锁反应
开发语言·前端·javascript
志尊宝23 分钟前
Vue3 零基础每日笔记(026):emit 子传父——defineEmits 与事件校验
前端·javascript·html·vue3
风骏时光牛马31 分钟前
6个高频实用技术脚本案例,覆盖运维与办公自动化(可直接复用)
前端
ssshooter1 小时前
Node.js 天生就是异步的,为什么还要消息队列?
javascript·后端·面试
爱吃红星柚1 小时前
【学习】Elpis 抽离与发布 npm 包
前端·前端框架·node.js
PedroQue991 小时前
0.5.0重磅发布:动画插件+H5体验全面优化
前端·uni-app
金虹桥程序员1 小时前
【动画】 📚 CSS 动画与 GPU 合成层优化全链路指南
前端·面试
程序员老赵1 小时前
Docker 部署填鸭表单完整教程:搭建私有化问卷与表单收集平台
前端·docker·开源
无限压榨切图仔2 小时前
向量库能搜到内容,为什么还不算学会 RAG
前端·agent
mmsx2 小时前
MapLibre 实战 11|用户说"我的地块丢了":一个 sealed class 图层模型,和四个让我重构三版的坑
android·前端·开源