shayloyuki

科技是第一生产力

 

鬼打墙之谁改了我的代码

前情提要

测试提了个 bug: 顺序输入字符过长,后端会报错。
建议前端限制输入字符长度。

image

改 bug 的上午

经测试,输入超过10位数会报错。

和后端沟通,int 最大值是 4294967295

image

由于 el-input-number 不支持 maxLength 属性,用 rules 校验 max 也有问题(不能实时校验)。因此采取了 :max="4294967295"

鬼打墙的下午

令人震惊的一幕出现了,输入长字符测试,居然校验提示请输入0-1000间的整数。定位到代码中发现了还有个字符数的正则校验。但是,为什么之前测试的时候,这个校验没有生效?

      rules: {
        roleSort: [
          { required: true, message: "角色顺序不能为空", trigger: "change" },
		  // 之前校验时,下面这个校验没有生效
          {
            pattern: /^([0-9][0-9]{0,2}|1000)$/,
            message: "请输入0-1000间的整数",
            trigger: "change",
          },
        ],
      },

不可置信

不死心的我,去查看了代码提交记录,仍然没发现问题所在,最初版本就有 请输入0-1000间的整数 这则校验。

但我记得并没有它。

难道是记忆出现了混乱?

如果它一直都存在,为何之前测试时没有生效?

如果它是后来加上的,是谁加的?为何版本记录上没有显示?

posted on 2023-08-21 14:02  shayloyuki  阅读(42)  评论(1编辑  收藏  举报

导航