错误的校验函数:
// 验证名称是否已存在 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 = [],会导致修改时不校验,在点击新增按钮时也不会校验了。
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!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 文件下载之简化的代码