在 EasyUI 中,若想讓某輸入框「允許為空,但若填寫則必須符合郵箱/手機格式」,核心在於不添加 required="true" 屬性,僅設定 validType。
<input class="easyui-validatebox"
validType="email"
missingMessage="請輸入郵箱"
invalidMessage="郵箱格式不正確" />
<input class="easyui-validatebox"
validType="phone"
missingMessage="請輸入手機號"
invalidMessage="手機號格式不正確" />
| 屬性 | 作用 | 是否必填 |
|---|---|---|
validType | 指定驗證規則(email、phone、url、自訂正則等) | 是 |
required | 設為 true 時強制必填;預設 false,不寫即為非必填 | 否 |
missingMessage | 必填時為空的提示文字(僅 required=true 生效) | 否 |
invalidMessage | 格式不符時的提示文字 | 建議加 |
$.extend($.fn.validatebox.defaults.rules, {
mobile: {
validator: function(value) {
return /^1[3-9]\d{9}$/.test(value);
},
message: '手機號格式不正確'
}
});
// 使用
<input class="easyui-validatebox" validType="mobile" />
總結:只寫 validType、不寫 required 即可實現「可空但驗證」的需求,簡單且符合 EasyUI 設計邏輯。