element-ui + vue 自定义校验规则(新增编辑)

本文探讨了在前端开发中如何实现自定义表单验证规则,以确保用户输入的数据唯一性。通过示例代码展示了如何过滤并检查`channelId`,如果输入的关键字已经存在于其他渠道中,则提示用户更换新的关键字。此外,还介绍了Vue.js中使用`$refs`进行表单验证的方法,以及如何在验证失败时给出相应提示。这为开发者提供了一种有效防止数据冲突的策略。
摘要由CSDN通过智能技术生成
data(){
    const urlKeyRules = (rule, value, callback) => {
      let channelList = this.channelList;
      if (this.formData.channelId) {
        // 编辑时校验
        channelList = this.channelList.filter(
          (item) => item.channelId !== this.formData.channelId
        );
      }
      channelList.map((i) => i.urlKey).includes(value)
        ? callback(new Error(value + "当前关键字已重复使用,请更换新的关键字"))
        : callback();
    };
}

value => 当前用户输入值

callback => 通过逻辑调用,这里使用的是map + includes;作用:拿出数组中urlkey组成新数组,用includes判断value在不在数组里面

methods:{
    你的回调函数(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          console.log("校验成功");
        } else {
          console.log("校验失败");
          return false;
        }
      });
    },
}

总结:先掌握自定义校验规则的使用方法,再按需求加自己的规则。可以去官网查看一些更细致的规则,放出一些常用的规则以备不时之需。

required: true, 必填吗? true必填,false反之
message: '请输入活动名称', 提示文本
trigger: 'blur' 失去焦点触发校验
min: 3, max: 5, message: '长度在 3 到 5 个字符',

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值