Vue使用antd中input組件去驗證輸入框輸入內容(rules 案例)

AntD是什麼?

AntD is An enterprise-class UI design language and React UI library.(AntD是一款企業級的UI設計語言和React UI類庫。)

antd的特性和優勢如下:

1、提煉自企業級中後臺產品的交互語言和視覺風格。

2、開箱即用的高質量 React 組件。

3、使用 TypeScript 構建,提供完整的類型定義文件。

4、全鏈路開發和設計工具體系

5、數十個國際化語言支持。

6、深入每個細節的主題定制能力。

antd應用方法

1、安裝

安裝組件庫:npm install antd  –save或yarn add antd

安裝圖標庫:npm install @ant-design/icons -s

下面看下Vue input組件驗證輸入框輸入內容的實現代碼,效果圖如下所示:

效果圖 

 示例代碼

<a-form-model-item prop="phone">
  <a-input v-model="form.phone" :maxLength="11" placeholder="手機號" />
</a-form-model-item>
<a-form-model-item prop="code">
  <a-input v-model="form.code" placeholder="驗證碼" />
</a-form-model-item>
<a-form-model-item prop="num">
  <a-input v-model="form.num" placeholder="請輸入數字" />
</a-form-model-item>
<script>
export default {
  name: "Login",
  data() {
    const validateCode = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("驗證碼為空"));
        return false;
      } else if (value !== this.identifyCode) {
        callback(new Error("驗證碼不正確"));
        return false;
      } else {
        callback();
      }
    };
    //使用正則表達式驗證手機號
    const checkPhone = (rule, value, callback) => {
      if (!value) {
        return callback(new Error("手機號不能為空"));
      } else {
        //獲取工具類中的手機號正則表達式
        const phoneReg =
          /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
        if (phoneReg.test(value)) {
          callback();
        } else {
          //如果驗證輸入錯誤就清空
          this.form.phone = "";
          return callback(new Error("請輸入正確的手機號"));
        }
      }
    };
    return {
      form: {
        phone: "",
        password: "",
        code: "",
		num:"",
      },
      rules: {
        phone: {
          validator: checkPhone,//自定義校驗
          //   required: true,
          //   message: "手機號",
          trigger: "blur",
        },
        password: { required: true, message: "請輸入密碼", trigger: "blur" },
        code: [
          {
            // validator: validateCode,
            required: true,
            message: "請輸入驗證碼",
            trigger: "blur",
          },
        ],
		num: [
          {
            required: true,
            pattern: new RegExp(/^[0-9]\d*$/, 'g'),//正則表達式校驗
            message: '請輸入類型為整數!',
            trigger: 'blur',
          },
        ],
      },
    };
  },
  computed: {
    // 用於校驗手機號碼格式是否正確
    phoneNumberStyle() {
      let reg = /^1[3456789]\d{9}$/;
      if (!reg.test(this.form.phone)) {
        return false;
      }
      return true;
    },
  },
};
</script>

到此這篇關於Vue使用antd中input組件去驗證輸入框輸入內容-rules-案例的文章就介紹到這瞭,更多相關Vue input組件驗證輸入框輸入內容內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: