element ui form添加校验规则

javascript 复制代码
     <el-form :rules="rules" ref="ruleForm" label-position="top" :model="form" label-width="100px"
                class="basicform">
                <el-row :gutter="24">
                    <el-col :span="24">
                        <el-form-item label="手机号:" prop="name">
                            <el-input v-model="form.name" placeholder="请输入"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>

                <el-row :gutter="24">
                    <el-col :span="12">
                        <el-form-item label="截止日期:">
                            <el-date-picker v-model="form.date" type="date" placeholder="请选择">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="负责人:" prop="person">
                            <el-select v-model="form.person" placeholder="请选择">
                                <el-option label="区域一" value="shanghai"></el-option>
                                <el-option label="区域二" value="beijing"></el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row :gutter="24">
                    <el-col :span="24">
                        <el-form-item label="描述:" class="namehuod">
                            <el-input type="textarea" v-model="form.ison"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>



            </el-form>
  <el-row :gutter="24" style="width: calc(100% - 0px);margin: 0 auto;">
                <el-col :span="24" style="border-top: 1px solid #ccc;padding: 10px 0;">
                    <el-button size="small" type="primary" @click="submitFnc()"
                        style="float: right;margin-right: 15px;">确认</el-button>
                    <el-button size="small" @click="resetForm" style="float: right;margin-right: 15px;">取消</el-button>
                </el-col>
            </el-row>
javascript 复制代码
  data() {
        return {
            form: {

            },
            rules: {
                name: [
                    { required: true, message: '请输入手机号', trigger: 'blur' },
                    { validator: this.isPhone, trigger: 'blur' }
                ],
                person: [
                    { required: true, message: '请选择负责人', trigger: 'change' }
                ]
            }

        };
    },
javascript 复制代码
 methods: {
        isPhone(rule, value, callback) {
            if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
                .test(value)) {
                return callback(new Error('请输入正确的手机号'));
            }
            callback();
        },
submitFnc() {
            this.$refs.ruleForm.validate((valid) => {
                if (valid) {
                  console.log("校验通过")
                } else {

                    return false;
                }
            });

        },
 resetForm() {
//清除校验
            this.$refs.ruleForm.resetFields();
        },
}

添加校验规则有多中方法,其他方式可参考ele ui 官网

相关推荐
ZC跨境爬虫3 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人3 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang3 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家4 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
前端摸鱼匠5 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker5 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
donecoding7 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马7 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren7 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川7 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端