vant 的表單校驗

来源:https://www.cnblogs.com/duyibo/archive/2022/05/27/16319232.html
-Advertisement-
Play Games

vant 的表單校驗 個人理解: 將rules當成一個對象去理解,傳參時可以是整個對象或者對象的某一屬性 常用兩種校驗方式 1, 正則表達式 1.1自定義校驗規則(校驗規格也可傳入多條): 表單: :rules="[{ pattern:ageRules, message: '請填寫密碼' }]" d ...


vant 的表單校驗

個人理解:

將rules當成一個對象去理解,傳參時可以是整個對象或者對象的某一屬性

常用兩種校驗方式

1, 正則表達式

1.1自定義校驗規則(校驗規格也可傳入多條):

表單:

:rules="telRules"

data:

telRules:[{
        required:true,
        message: '手機號不能為空',
        trigger:blur,
      },{
        validator: value => {
          return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/
          .test(value)
        },
        message: '請輸入正確的手機號格式',
        trigger: 'onBlur',
      }],

1.2 只傳入屬性:

根據文檔傳入對應參數:

image

表單:

:rules="[{ pattern:ageRules, message: '請填寫密碼' }]"

data:

  ageRules: /^[0-9]{3,7}$/,

2, 函數式

校驗寫在方法里

(ps:就是在這裡遇到小坑,按照文檔自己寫發現只有函數名是validator的校驗方法能生效,後來才想明白通過validator:名字 的方式可以指定。被自己蠢哭了...)

表單:

   :rules="[{ validator:ur, message: '請輸入正確內容' }]"

data:

     ur(val) {
          return /^[0-9]{3,7}$/.test(val);
        },

整體代碼

<template>
  <div>
    <h2>表達校驗</h2>
    <van-form @submit="onSubmit">
      <!-- 函數校驗 -->
      <van-field
        v-model="username"
        name="用戶名"
        label="用戶名"
        placeholder="用戶名"
        :rules="[{ validator:ur, message: '請輸入正確內容' }]"
      />
      <van-field
        v-model="password"
        type="password"
        name="密碼"
        label="密碼"
        placeholder="密碼"
        :rules="[{ required: true, message: '請填寫密碼' }]"
      />

      <!-- 正則校驗 -->
      <van-field
        v-model="mobile"
        name="手機號"
        label="手機號"
        placeholder="請輸入手機號"
        :rules="telRules"
      />

      <van-field
        v-model="username"
        name="年齡"
        label="年齡"
        placeholder="年齡"
        :rules="[{ pattern:ageRules, message: '請填寫密碼' }]"
      />

      <div style="margin: 16px;">
        <van-button round block type="info" native-type="submit">提交</van-button>
      </div>
    </van-form>


  </div>
</template>

<script>
    export default {
        name: "goodsModel",
      data() {
          return {
            username: '',
            password: '',
            mobile:'',
            ageRules: /^[0-9]{3,7}$/,
            /** 表單校驗 */
            telRules:[{
              required:true,
              message: '手機號不能為空',
              trigger:blur,
            },{
              validator: value => {
                return /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/
                .test(value)
              },
              message: '請輸入正確的手機號格式',
              trigger: 'onBlur',
            }],
          }
      },

      methods: {
        ur(val) {
          return /^[0-9]{3,7}$/.test(val);
        },
        onSubmit(values) {
          console.log('submit', values);
        },
      }
    }
</script>

<style scoped>

</style>

參考博客:
https://blog.csdn.net/weixin_42322454/article/details/113143385


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • teacher表: iddeptnamephonemobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 555 1920 103 1 Splint 2293 104 Spiregrain 3287 105 2 Cutflow ...
  • 本文介紹如何使用 SELECT 語句查詢 SQL 如何對錶進行創建、更新和刪除操作 中創建的 Product 表中數據。這裡使用的 SELECT 語句是 SQL 最基本也是最重要的語句。 請大家在實際運行本文中的 SELECT 語句時,親身體驗一下其書寫方法和執行結果。 執行查詢操作時可以指定想要查 ...
  • 1 Hadoop介紹 Hadoop是Apache旗下的一個用java語言實現開源軟體框架,是一個開發和運行處理大規模數據的軟體平臺。允許使用簡單的編程模型在大量電腦集群上對大型數據集進行分散式處理。狹義上說,Hadoop指Apache這款開源框架,它的核心組件有: HDFS(分散式文件系統):解決 ...
  • 最近在數據處理中用到了窗函數, 把使用方法記錄一下, 暫時只有分組排序和滑動時間視窗的例子, 以後再逐步添加. 在SQL查詢時, 會遇到有兩類需要分組統計的場景, 在之前的SQL語法中是不方便實現的. 使用窗函數直接SQL中使用窗函數就能解決這些問題, 否則需要使用臨時表, 函數或存儲過程進行處理.... ...
  • 本文介紹如何使用 CREATE DATABASE 語句創建資料庫、 CREATE TABLE 語句創建表、ALTER TABLE 語句更新表、DROP TABLE 語句刪除表。 一、表的創建 本節要點 表通過 CREATE TABLE 語句創建而成。 表和列的命名要使用有意義的文字。 指定列的數據類 ...
  • 5月24日,由華為開發者聯盟主辦的HUAWEI Developer Day(華為開發者日,簡稱HDD)線上沙龍·創新開發專場在華為開發者學堂及各大直播平臺與廣大開發者見面。直播內容主要聚焦HarmonyOS和HMS生態應用開發,帶來關於HarmonyOS服務卡片、HMS Core開放能力、應用高效開 ...
  • 二維碼和條形碼從發明到發展已經過去了幾十年,因其能快捷方便讀取信息的特點,在數字經濟時代被廣泛應用。掃描二維碼可以識別健康狀況,識別身份信息、訪問網站鏈接、完成金融支付等等,已經成為生活中不可或缺的實用技術,所以很多App都搭載了“掃一掃”功能。 然而,在日常掃碼過程中,我們也經常會遇到掃碼環境暗、 ...
  • 1.字元集/字元編碼是什麼? 字元集或者說字元編碼就是給字元定義了數值編號以及數值編號存儲格式。 嚴格來說字元集和字元編碼是兩個概念: charset 是 character set 的簡寫,即字元集。 encoding 是 charset encoding 的簡寫,即字元集編碼,簡稱編碼。 字元集 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...