react antd form 自定義表單驗證validator 需要注意的細節,否則會無法觸發表單提交。


1、每一個if判斷后,都需要加入callback(),否則會阻塞表單的提交。

validateNoChinese = (_, value, callback) => {
    const reg = /^\d+$|^\d*\.\d+$/g;
    const startValue = value?.split('.')

    if(!value){
      callback();
    } else if (value && !reg.test(value) || !startValue[0]) {
      callback('只能輸入數字');
    } else {
      callback();
    }
    callback();
  }

2、編輯回顯數據的時候,需要注意,表單里有多少個字段,就回填多少個字段。並且回填需要改變一下數據,比如+一個空字符串

  this.props.form.setFieldsValue({
        laboratoryName: editObj?.laboratoryName + '',
        yearSchoolPeriod: editObj?.yearSchoolPeriod + '',
        yearSocialPeriod: editObj?.yearSocialPeriod + '',
        yearApplyPeriod: editObj?.yearApplyPeriod + '',
        yearMaxPeriod: editObj?.yearMaxPeriod + '',
      });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM