<a-form-item label="金額"
v-bind="formItemLayout">
<a-input-number style="width: 100%"
placeholder="輸入金額"
addonAfter="元"
@change="onChangeAmount"
v-decorator="['amount',
{rules: [
{required: true, message: '請(qǐng)輸入金額'},
{validator: checkAmount }
]}]" />
在method下寫(xiě)驗(yàn)證checkAmount 函數(shù),代碼如下:
checkAmount (rule, value, callback) {
//驗(yàn)證金額
const number = Number(value);
//前半部分正則驗(yàn)證最多可包含兩位小數(shù)的數(shù)字,后部分驗(yàn)證必須為非負(fù)數(shù)(正則需求自行定義)
if (!(/^[0-9]+(.?[0-9]{1,2})?$/.test(value))|| value < 0) {
// 如果需要返回 error msg,就把它傳給 `callback()`
callback('請(qǐng)輸入最多包含兩位小數(shù)的正數(shù)');
} else {
// 如果通過(guò)校驗(yàn),調(diào)用無(wú)參數(shù)的 `callback()` 即可
callback();
}
},