前情提要
测试提了个 bug: 顺序输入字符过长,后端会报错。
建议前端限制输入字符长度。
改 bug 的上午
经测试,输入超过10位数会报错。
和后端沟通,int 最大值是 4294967295
。
由于 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间的整数
这则校验。
但我记得并没有它。
难道是记忆出现了混乱?
如果它一直都存在,为何之前测试时没有生效?
如果它是后来加上的,是谁加的?为何版本记录上没有显示?
标签:打墙,代码,校验,测试,输入,1000 From: https://www.cnblogs.com/shayloyuki/p/17645845.html