天天看点

使用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),
 }]}

           

说到最后希望这篇帖子能够帮助到你,代码可以抄但是更得理解,多敲才是王道希望你对代码有着真挚的感情,对自己敲出的代码都有不一样的自信,感谢您的浏览