关于element-ui中el-form自定义验证(调用后端接口)

作者:HoShining 时间:2024-04-27 15:57:00 

element-ui中el-form自定义验证

需求

在输入项目名称后,调用后端接口isNameOnly,若已存在,则效果如下图:

关于element-ui中el-form自定义验证(调用后端接口)

1.先设置校验规则rules

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"
class="demo-ruleForm">

2.在return中定义

// 判定规则
               rules: {
                   taskName: [{
                           required: true,
                           message: '请输入项目名称',
                           trigger: 'blur'
                       },
                       {
                           min: 3,
                           max: 15,
                           message: '长度在 3 到 15 个字符',
                           trigger: 'blur'
                       },
                       {
                           required: true,
                           trigger: 'blur',
                           //validatePass --- 我们自定义的校验规则
                           validator: validatePass  
                       }
                   ],
               },

3.在data中添加如下代码:(注意,以下代码和return同级)

const validatePass = (rule, value, callback) => {
               this.$depot.get({
                   url: '/isNameOnly',
                   config: {
                       params: {
                           taskName: 1,
                           userId: 1)
                       }
                   },
                   cb: (res) => {
                       this.nameOK = res.data == 1 ? true : false
                   }
               })
               if (this.nameOK != false) {
                   callback()
               } else {
                   callback(new Error('经验证,该项目已存在于数据库中'))
               }
           }

4.method定义提交表单方法

// 提交表单数据
           submitForm(formName) {
               this.$refs[formName].validate((valid) => {
                   if (valid) {
                       this.$message({
                           message: '恭喜你!项目创建成功!',
                           type: 'success'
                       });
                   } else {
                       this.$message({
                           message: '请按照提示正确输入信息后再创建!',
                           center: true
                       });
                   }
               });
           },

element-ui自定义form表单校验规则

HTML:

<el-form
   ref="form"
   label-width="120px"
   :rules="rules"
   :model="ruleForm"
       >
<el-form-item
    label="身份证号"
    size="mini"
    class="part"
    prop="id_card"
  >
    <el-input
      v-model="ruleForm.id_card"
    ></el-input>
</el-form-item>
</el-form>

注意

使用校验规则的表单,在data中定义的时候必须要放在一个对象中,:model="ruleForm"这行代码一定要写,不写不生效!

js:

export default {
 name: "",
 data() {
 //自定义校验规则
   var checkIdCard = (rule, value, cb) => {
     const regIdCard = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

if (regIdCard.test(value)) {
       return cb();
     }
     cb(new Error("您输入的身份证号码不是有效格式"));
   };
   return {
     ruleForm: {
       id_card: "", //身份证
     },
     rules: {
       id_card: [
         { required: true, message: "请输入身份证", trigger: "blur" },
         { validator: checkIdCard, trigger: "blur" },
       ],
     }
   },

element ui 官网也有详细介绍哦------https://element.eleme.cn/#/zh-CN/component/form

这样也就实现了自定义校验的规则,可以在项目中使用了!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。 

来源:https://blog.csdn.net/qq_36977697/article/details/109165726

标签:element-ui,el-form,验证
0
投稿

猜你喜欢

  • python 自定义异常和主动抛出异常(raise)的操作

    2022-03-22 12:43:22
  • SQL Server正则表达式 替换函数应用详解

    2023-07-07 23:53:13
  • PHP对战ASP:这还值得讨论吗

    2008-04-16 14:19:00
  • Orcale权限、角色查看创建方法

    2024-01-20 04:22:02
  • Python socket模块ftp传输文件过程解析

    2021-04-17 02:22:59
  • 如何用python合并多个excel文件

    2022-08-23 19:30:24
  • 解决Python3.7.0 SSL低版本导致Pip无法使用问题

    2023-08-22 01:46:55
  • CSS在Internet Explorer 6, 7 和8中的差别

    2009-10-26 18:14:00
  • mysql中全连接full join...on...的用法说明

    2024-01-13 19:44:22
  • 基于ThinkPHP删除目录及目录文件函数

    2024-06-05 09:46:36
  • 动态给表添加删除字段并同时修改它的插入更新存储过程

    2011-12-01 10:18:28
  • Python csv文件的读写操作实例详解

    2021-06-07 19:02:41
  • BeautifulSoup中find和find_all的使用详解

    2023-11-08 21:00:22
  • Python实现投影法分割图像示例(二)

    2021-04-19 01:53:18
  • pytorch自定义初始化权重的方法

    2023-12-25 07:55:06
  • MySQL授权命令grant的使用方法小结

    2024-01-22 14:09:22
  • 升级和卸载Oracle数据库软件的命令整理

    2024-01-16 18:15:37
  • python基础教程之csv格式文件的写入与读取

    2021-05-24 09:20:12
  • Mongoose经常返回e11000 error的原因分析

    2024-05-03 15:36:05
  • PyQt5实现QLineEdit添加clicked信号的方法

    2021-02-08 18:24:02
  • asp之家 网络编程 m.aspxhome.com