写bug小白 2023-07-06 17:05 采纳率: 95.5%
浏览 24
已结题

验证名称是否在数组中已经存在,自定义表单验证

验证名称是否在数组中已经存在,自定义表单验证

前端判断输入框输入的名称是否已存在数组中,在rules中添加验证方法

name:[
  {required:true, message: '请输入名称',trigger:'blur'},
  {validator:(rule,value,callback) => {
                            this.tableData.forEach((item) => {
                                let exists = item.name == value
                                if(exists) {
                                    callback(new Error('名称已存在'))
                                }else{
                                    callback()
                                }
                            })
  ,trigger:'blur'},
]

为什么这个验证方法并没有生效?

  • 写回答

3条回答 默认 最新

  • 趣享先生 优质创作者: 编程框架技术领域 2023-07-06 17:11
    关注

    这段代码中,验证方法可能没有生效的原因是缺少闭合的括号。请将代码中的 }) 改为 })} 以正确关闭匿名方法的定义。修改后的代码如下所示:

    
    name: [
      { required: true, message: '请输入名称', trigger: 'blur' },
      { validator: (rule, value, callback) => {
        this.tableData.forEach((item) => {
          let exists = item.name === value;
          if (exists) {
            callback(new Error('名称已存在'));
          } else {
            callback();
          }
        });
      }, trigger: 'blur' },
    ],
    

    如若有用,还望博友采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月6日