问题说明:使用layui时验证数字类型,lay-verify=“number”,发现如果不输入数据也会认为数据不合法,也就是说number验证地是必填且为数字,而当项目中遇到非必填项进行数字验证时就不适合了。
原因分析:打开form.js文件,发现其验证方式如下
number: function (e) { if (!e || isNaN(e)) return "只能填写数字" }
也就是说,以number验证时会验证数据不为空,同时包含了required验证地功能,但这种对于我们对非必填项来验证时是不对的。
解决方案:自定义整数验证。
layui.use(['form'], function () {
var from=layui.form;
form.verify({
integer: [/^\d*$/, "只能填写整数"],
});
})
使用时,使用lay-verify="integer"即可。