Ant Design Vue 表单规则验证

针对表单有许多的验证要做,这个简单诠释了验证的写法

1、vue 页面代码

    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <a-form-item
          label="bizCode"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          has-feedback="">
          <a-input placeholder="请输入bizCode"
                   v-decorator="['bizCode', {rules: [
                     {required: true, message: '请输入bizCode!'},
                     { min: 3, max: 4, message: 'bizCode需在2-4位之间', trigger: 'blur' },
                     {required: true, message: '请填写邮箱!'},
                     {validator:EmailValidator}
                     ]}]"/>
        </a-form-item>

2、vue 验证规则代码

methods: {
      EmailValidator(rule, value, callback){
        const idcardReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
        if (!idcardReg.test(value)) {
          // eslint-disable-next-line standard/no-callback-literal
          callback('邮箱格式不正确')
        }
        // Note: 必须总是返回一个 callback,否则 validateFieldsAndScroll 无法响应
        callback()
      }
}

3、其他的一些验证规则

    // 手机号验证
    MobileNumberValidator (rule, value, callback) {
      const idcardReg = /^1(3|4|5|6|7|8|9)\d{9}$/
      if (!idcardReg.test(value)) {
        // eslint-disable-next-line standard/no-callback-literal
        callback('非法格式')
      }
      // Note: 必须总是返回一个 callback,否则 validateFieldsAndScroll 无法响应
      callback()
    },
    // 邮箱验证
    EmailValidator (rule, value, callback) {
      const idcardReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
      if (!idcardReg.test(value)) {
        // eslint-disable-next-line standard/no-callback-literal
        callback('非法格式')
      }
     // Note: 必须总是返回一个 callback,否则 validateFieldsAndScroll 无法响应
      callback()
    },
    // 身份证验证 
    IDValidator (rule, value, callback) {
      const idcardReg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/
      if (!idcardReg.test(value)) {
      // eslint-disable-next-line standard/no-callback-literal
        callback('非法格式')
      }
      // Note: 必须总是返回一个 callback,否则 validateFieldsAndScroll 无法响应
      callback()
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是福强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值