Ant Design表单验证规则

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()
    }
posted @   AvenCheung  阅读(546)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示