【Vue -- 2/100】element-ui 表单校验规则的应用

element-ui 给el-form表单添加校验规则

<!-- 对话框组件  :visible.sync(设置是否显示对话框) width(设置对话框的宽度)
        :before-close(在对话框关闭前触发的事件) -->
        <el-dialog title="添加用户" :visible.sync="addDialogVisible" width="50%">
            <!-- 对话框主体区域 -->
            <el-form :model="addForm" :rules="addFormRules" ref="addFormRef" label-width="70px">
                <el-form-item label="用户名" prop="username">
                    <el-input v-model="addForm.username"></el-input>
                </el-form-item>
                <el-form-item label="密码" prop="password">
                    <el-input v-model="addForm.password"></el-input>
                </el-form-item>
                <el-form-item label="邮箱" prop="email">
                    <el-input v-model="addForm.email"></el-input>
                </el-form-item>
                <el-form-item label="电话" prop="mobile">
                    <el-input v-model="addForm.mobile"></el-input>
                </el-form-item>
            </el-form>
            <!-- 对话框底部区域 -->
            <span slot="footer" class="dialog-footer">
                <el-button @click="addDialogVisible = false">取 消</el-button>
                <el-button type="primary" @click="addDialogVisible = false">确 定</el-button>
            </span>
        </el-dialog>

校验规则

data(){
        //验证邮箱的规则
        var checkEmail = (rule, value, cb) => {
            const regEmail = /^\[email protected]\w+(\.\w+)+$/
            if (regEmail.test(value)) {
            return cb()
            }
            //返回一个错误提示
            cb(new Error(‘请输入合法的邮箱‘))
        }
        //验证手机号码的规则
        var checkMobile = (rule, value, cb) => {
            const regMobile = /^1[34578]\d{9}$/
            if (regMobile.test(value)) {
            return cb()
            }
            //返回一个错误提示
            cb(new Error(‘请输入合法的手机号码‘))
        }
        return {
            ...
            addDialogVisible: false,    // 控制添加用户对话框的显示与隐藏
            // 添加用户的表单数据
            addForm: {
                username: ‘‘,
                password: ‘‘,
                email: ‘‘,
                mobile: ‘‘
            },
            // 添加表单的验证规则对象
            addFormRules: {
            username: [
                { required: true, message: ‘请输入用户名称‘, trigger: ‘blur‘ },
                {
                    min: 3,
                    max: 10,
                    message: ‘用户名在3~10个字符之间‘,
                    trigger: ‘blur‘
                }
            ],
            password: [
                { required: true, message: ‘请输入密码‘, trigger: ‘blur‘ },
                {
                    min: 6,
                    max: 15,
                    message: ‘用户名在6~15个字符之间‘,
                    trigger: ‘blur‘
                }
            ],
            email: [
                { required: true, message: ‘请输入邮箱‘, trigger: ‘blur‘ },
                { validator:checkEmail, message: ‘邮箱格式不正确,请重新输入‘, trigger: ‘blur‘}
            ],
            mobile: [
                { required: true, message: ‘请输入手机号码‘, trigger: ‘blur‘ },
                { validator:checkMobile, message: ‘手机号码不正确,请重新输入‘, trigger: ‘blur‘}
            ]
            }
        }

关闭对话框后将表单清空,否则下次打开表单会有数据在里面

addDialogClosed(){
      //对话框关闭之后,重置表达
      this.$refs.addFormRef.resetFields();
 }

原文地址:https://www.cnblogs.com/YangxCNWeb/p/12608878.html

时间: 2024-10-10 20:27:02

【Vue -- 2/100】element-ui 表单校验规则的应用的相关文章

关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有: 1.使用此方法前检查prop一定必须要写在<el-form-item>上面,写在里面的input上或者其他任何地方都不行(el-form-item prop属性绑定) 2.el-form rules,model属性绑定,ref标识 自定义表单验证的坑: 一.valid

vue开源Element UI表单设计及代码生成器

在日常的开发工作中,表单开发是较为繁琐且重复的.本文介绍一个我自己写的,提高开发效率的小工具. 1 可视化设计器 设计器基于Element UI ,可通过点击或拖拽的方式设计基本表单, 设计器生成的代码可直接运行在基于 Element 的 vue 项目中. github仓库   https://github.com/JakHuang/form-generator 码云仓库  https://gitee.com/mrhj/form-generator 演示地址 https://mrhj.gitee

element的表单校验自动定位到该位置

遇到的项目问题是在每个折叠面板里边都有不同的表单,用element上的校验时,若有没填写的表单或不符合表单格式的要求,则自动展开该折叠面板,且页面定位到没校验成功的表单   this.$refs.form.validate((valid, object) => {           if (valid) {             alert('submit!')           } else {             let split = ''             for (le

(vue.js)element ui 表单重置

el-form需要接收一个model,并且需要配合el-form-item一起使用,并且在el-form-item上绑定prop属性,resetField方法才能好使. <el-form :model="addServiceData" ref="addServiceForm"> <el-form-item label="手机号" prop="mobile"> <el-input v-model=&

创建通用的表单校验逻辑库

表单校验一直是web开发中最基础,也是最不好做的一个环节.说是基础,相信多少从事web开发的人第一件事就是学习如果基于js.jQuery实现表单验证工作.在10年前,甚至是5年前,JavaScript还是被多数工程师轻视的一门语言,那时候很多人认为JavaScript充其量也就能完成一部分表单校验的工作.由此可知表单校验是多么基础的一件事情:说它不好做,是因为表单校验往往工作量极大,可以说是一个没太大技术含量但是很耗费体力的活,而且在一些对交互友好性要求较高的项目中,表单校验就更加费事了. 于是

vue+element表单校验功能

要实现这个功能其实并不难,element组件直接用就可以, 但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程...... 表单校验功能:   实现这个功能,总共分为以下4布: 在el-form标签中定义:rules="rules";ref="reference" 在el-form-item定义prop="name"; 在选项data中定义rules校验规则; 在提交方法中检查用户行为 template代码:

vue 表单校验(二)

vue 表单校验(二) vue element-ui表单校验 由于现在使用element-ui进行form表单校验,因而使用其自带的校验规则进行校验,发现有些并不是那么好校验,或者说是校验起来很繁琐,因而一直在研究中 表单校验分类 前后端校验 前端校验 后端校验 这种目前一般是结合起来使用,很少单纯前端校验,或者单纯后端校验的 前端检验 数据录入时校验 数据回显时校验 动态创建时校验 数据是否必填时校验 接下来所谈论的校验都是基于前端进行校验,若是后天校验,只是统一校验规则而已,这样前后便可以统

vue表单校验(三)

vue表单校验(三) 每当看到heyui的这个表单校验,我就一直想将element的校验也做类似的功能,终于有了方式,虽然不是很完美,但是可以使用,能满足要求了 实现方式 基于element-ui实现 通过表单提交时,触发校验,未通过的表单会添加is-error,之后滚动到对应的错误位置即可 页面视图 实现逻辑 触发条件 在提交时,若是未通过则开始进行判断,由于是依赖于is-error的class类名,因而需要等form表单错误的元素添加完is-error类名后再进行判断 submitForm1

【转】vue.js表单校验详解

1.npm安装vue-validator $ npm install vue-validator 代码示例: var Vue=require("vue"); var VueValidator=require("vue-validator"); Vue.use(VueValidator); 2.直接使用script标签引入vue.js 要下载vue-validator,那么进入cdn的地址https://cdn.bootcss.com/vue-validator/2.