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 官网

相关推荐
Bad_Shepherd6 分钟前
vue-element-plus-admin添加自定义svg图标,并且图标选择组件可选自定义图标
vue.js·elementui·前端框架
这是个栗子8 分钟前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
吃糖的小孩1 小时前
从只读页面到可控真实探针:我如何给 Owner Console 加手动诊断
前端
谷无姜1 小时前
为什么你的性能优化无效?可能是"木桶效应"在作祟
前端·性能优化
雾非雾1 小时前
《基于具身交互智能数字人技术:如何打造AI数字人宣讲平台"红厅智播”》
前端
Revolution612 小时前
一段 JavaScript 代码执行时,到底发生了什么
前端·javascript
智能起源2 小时前
关于元素层级过多,导致压祯的问题(使用winform或者WPF应用的webview组件嵌套网页时,动效卡顿问题)
前端
Old Uncle Tom2 小时前
银行用户画像 -- 金融目标与需求意图
前端·人工智能·金融
IT_陈寒2 小时前
Vue的响应式让我加班到凌晨3点,原来问题出在这
前端·人工智能·后端