ant-design-vue手机号格式表单验证(可以空但是非空就要符合格式)

需求:

对表单中的一个input组件进行表单验证,该input非必填可以为空,但是如果不为空则要进行手机号格式验证

input组件代码

<a-form-item :label="`手机号码`">
	<a-input
    	name="mobilephone"
        v-decorator="['mobilephone',{rules: [{validator: mobilephoneValidate}]}]" placeholder="手机号码"/>
</a-form-item>

验证方法

  /**
   *手机号码格式验证
   * @param str
   * @returns {boolean}
   */
  testMobilephone: function (str) {
    const regex = /^1[3456789]\d{9}$/
    if (!regex.test(str)) {
      return false
    } else {
      return true
    }
  },

调用验证方法验证

	mobilephoneValidate (rule, value, callback) {
	  // 主要就是添加一个对undefined和空串的判断
      if (typeof (value) === 'undefined' || value === '') {
        callback()
      } else {
        if (!this.testMobilephone(value)) {
         callback(new Error('请输入正确手机格式'))
        }
        callback()
      }
    }
Logo

前往低代码交流专区

更多推荐