在表單驗證中,常見需求是:輸入框可為空,但若用戶輸入內容必須為數字,否則提示「請填寫數字」。這篇文章探討如何使用 Validform 插件實現此邏輯。
Validform 提供豐富的數據類型驗證,針對「非必填但必須為數字」的場景,可結合 datatype 與 ignore 屬性:
datatype="n" 限制只能輸入數字(整數)。ignore="true" 使驗證忽略空值,即用戶未輸入時不觸發錯誤。<input type="text" name="numberInput" datatype="n" ignore="true" errormsg="請填寫數字" />
若需支援小數、負數等,可使用自定義正則:
<input type="text" name="price" datatype="/^-?\d+(\.\d+)?$/" ignore="true" errormsg="請輸入有效數字" />
通過 ignore="true" 配合數字類型驗證,即可滿足「不填不驗證、填了必須是數字」的業務需求,無需編寫額外 JavaScript 邏輯。