随笔 - 755  文章 - 0 评论 - 33 阅读 - 135万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

错误的校验函数:

复制代码
// 验证名称是否已存在
    const validateNameExisted = (rule, value, callback)=>{
      if (!value) {
        callback(new Error("请输入名称!"))
      }
      check(this.entity).then(res => {
        if (!res.success) {
          callback(new Error("名称已存在"))
        } else {
          callback()
        }
      })
    }
复制代码

错就错在不管是新增还是修改都校验了名称是否存在,实际上,新增时才需要校验名称是否存在,而修改时,我们禁止修改名称,因此不用校验名称。

正确的校验函数

复制代码
// 验证名称是否已存在
    const validateNameExisted = (rule, value, callback)=>{
      if (!value) {
        callback(new Error("请输入名称!"))
      }
      if (this.titleStatus === 'create') { // 新增
        check(this.entity).then(res => {
          if (!res.success) {
            callback(new Error("名称已存在"))
          } else {
            callback()
          }
        })
      } else {
        callback()
      }
    }
复制代码

注意:如果采用将this.rules.name = [],会导致修改时不校验,在点击新增按钮时也不会校验了。



感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted on   周文豪  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-09-28 svn报错Previous operation has not finished; run 'cleanup' if it was interrupted
2020-09-28 Mybatis注解开发之@CacheNamespace:实现注解二级缓存的使用
2020-09-28 导出----用Excel导出数据库表,单独的实体类用于导出
2020-09-28 文件下载之简化的代码
点击右上角即可分享
微信分享提示