天天看點

使用ant design表單校驗一些表達式,使用自定義校驗兩種寫法

1.用promise這樣自定義書寫更友好一點書寫方式畢竟與時俱進了,當讓如果你想用最老的函數式書寫,莫走往下看

// [email protected]裡面所寫的是用promise來書寫報錯與正确
   rules={[{
     required: true,
     message: '預警時間cors輸入錯誤',
     validator: (rule, value) => {
       if(!!value){
         const parser = require('cron-parser');
           try{
             const interval = parser.parseExpression(value);
           } catch (e) {
             return Promise.reject("非Cron表達式格式,請檢查!" + e.message);
           }
           } else {
             return Promise.reject("請輸入預警時間");
           }
             return Promise.resolve();
      },
}]}
           

1.這一種函數方法采用這個部落格 采用此部落格位址,話不多說繼續幹貨,這方法比較可能比較老舊,但是萬變不離其宗

// 此方法如果用[email protected]版本的還可以,但是用@4的話現在也就報錯了呢
 
  const handleCronValidate = (rule,value,callback) => {
    if(!!value){
      const parser = require('cron-parser');
      console.log(parser);
      try{
        const interval = parser.parseExpression(value);
        console.log(interval);
      } catch (e) {
        callback("非Cron表達式格式,請檢查!" + e.message);
      }
   } else {
       callback("請輸入預警時間");
   }
   callback();
 }

 rules={[{
  required: true,
  message: '預警時間cors輸入錯誤',
  validator: (rule,value,callback) => handleCronValidate(rule,value,callback),
 }]}

           

說到最後希望這篇文章能夠幫助到你,代碼可以抄但是更得了解,多敲才是王道希望你對代碼有着真摯的感情,對自己敲出的代碼都有不一樣的自信,感謝您的浏覽