一直想写这么个玩意儿的,一直没有能排起头。今天刚好测试测出一个bug,是一个关于正整数的表单验证。
项目需求:附件数量必须是正整数。
原先使用了正则,可能是正则不够变态,反正例如空数组,空对象,null,undefined,NaN验证不了,然后验证不了000,这是我正则的问题,不过反正我最后推翻了正则,网上还有使用正整数除以1一定会整除来做,也就是 number%1 === 0。可是还是有缺陷因为还得判断特殊符号和英文字母,你得确定是数字才行,所以得再加一层。最后我都推翻了,为了跟上潮流!使用es6
var number = Number(**)
Number.isInteger(number) && number > 0
参考element-ui 表单项目代码
// 附件总数
attachNum: [
{ required: true, message: '请输入附件总数', trigger: 'change' },
{
validator(rule,value,callback){
if(Number.isInteger(Number(value)) && Number(value) > 0){
callback();
}else{
callback(new Error("请输入有效数字"));
}
},
trigger: 'blur',
}]
=====================================================