TS中如何定义element自定义校验方法的参数类型

场景:一个普普通通的正则自定义,用ts怎么写参数类型呢?

注:我这里用的框架是vue3+ts+element-ui

1.在文件抛出 一个自定义校验方法,这个方法中有三个参数(rule,value,callback)

2.定义参数类型

3.在需要用到的地方引用。要用变量接一下

interface Icallback {

  (message?: string | Error | undefined): Error | void

}

interface Ivalidate {

  (rule: object, value: string, callback: Icallback): void

}

const validaePhone: Ivalidate = (rule, value, callback) => {

  //校验手机号,号段主要有(不包括上网卡):130~139、150~153,155~159,180~189、170~171、176~178。14号段为上网卡专属号段

  const regs = /^((13[0-9])|(17[0-1,6-8])|(15[^4,\\D])|(18[0-9]))\d{8}$/;

  if (value && value.length == 0) {

    callback(new Error('请输入手机号'));

  } else {

    if (!regs.test(value)) {

      callback(new Error('手机号输入不合法'));

    } else {

      callback();

    }

  }

}

export default {

  validaePhone

}

猜你喜欢

转载自blog.csdn.net/weixin_62355341/article/details/124000431