問題說明:使用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"即可。
