ant-design-vue 自定義表單元素驗(yàn)證

 <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();
  }
},
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容