【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的值

相关推荐
铁皮饭盒3 分钟前
第2课:5分钟!用 Trae AI 生成你的第一个后端服务(Bunjs + Elysia)
前端·后端·全栈
之歆32 分钟前
DAY13_CSS3进阶完全指南 —— 背景、边框、文本、渐变、滤镜与 Web 字体(下)
前端·css·css3
剑神一笑1 小时前
CSS 阴影生成器:从单层到多层叠加的艺术
前端·css·css3
lljss20201 小时前
1. NameServer 域名服务器---NS
linux·服务器·前端
用户6688599847661 小时前
Vue 3.0安装与使用
vue.js
anOnion2 小时前
构建无障碍组件之Tooltip Pattern
前端·html·交互设计
陈随易2 小时前
为什么今天还会有新语言?MoonBit 想解决什么问题?
前端·后端·程序员
西洼工作室2 小时前
unipp+vue3+python h5+app极验验证码集成全流程解析
前端·uni-app·全栈·极验
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_15:(媒体缓冲、拖动与时间范围控制)
前端·笔记·ui·html·edge浏览器·媒体