el-form自定義校驗規則

Vue 的 el-form 組件可以使用自定義校驗規則進行表單驗證。自定義校驗規則可以通過傳遞一個函數來實現,該函數接受要校驗的字段的值作為參數,并返回一個布爾值或一個 Promise 對象。

下面是一個示例,演示如何在 el-form 中使用自定義校驗規則:

  1. <template>
  2. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  3. <el-form-item label="用戶名" prop="username" :rules="usernameRules">
  4. <el-input v-model="form.username"></el-input>
  5. </el-form-item>
  6. <el-form-item>
  7. <el-button type="primary" @click="submitForm">提交</el-button>
  8. <el-button @click="resetForm">重置</el-button>
  9. </el-form-item>
  10. </el-form>
  11. </template>
  12. <script>
  13. export default {
  14. data() {
  15. return {
  16. form: {
  17. username: ''
  18. },
  19. rules: {
  20. username: [
  21. { required: true, message: '請輸入用戶名', trigger: 'blur' }
  22. ]
  23. }
  24. };
  25. },
  26. methods: {
  27. submitForm() {
  28. this.$refs.form.validate(valid => {
  29. if (valid) {
  30. // 表單驗證通過,提交表單
  31. console.log('提交表單');
  32. } else {
  33. // 表單驗證失敗,打印錯誤信息
  34. console.log('表單驗證失敗');
  35. return false;
  36. }
  37. });
  38. },
  39. resetForm() {
  40. this.$refs.form.resetFields();
  41. }
  42. },
  43. computed: {
  44. usernameRules() {
  45. return [
  46. { required: true, message: '請輸入用戶名', trigger: 'blur' },
  47. { validator: this.validateUsername, trigger: 'blur' }
  48. ];
  49. }
  50. },
  51. methods: {
  52. validateUsername(rule, value, callback) {
  53. // 自定義校驗規則
  54. if (value === 'admin') {
  55. callback(new Error('用戶名已存在'));
  56. } else {
  57. callback();
  58. }
  59. }
  60. }
  61. };
  62. </script>

在上述例子中,我們定義了一個表單項 "用戶名",并給它設置了兩個校驗規則,一個是必填規則,一個是自定義規則。自定義規則通過 `validator` 屬性指向一個函數,該函數會在校驗時調用。函數接受三個參數:`rule` 表示當前字段的驗證規則,`value` 表示當前字段的值,`callback` 用來返回校驗結果。當校驗不通過時,通過調用 `callback` 函數并傳遞錯誤消息來報告校驗失敗。

這只是一個簡單的例子,你可以根據你的具體需求來定義更復雜的自定義校驗規則。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40013.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40013.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40013.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

若依前端npm run dev啟動時報錯

本文主要解決問題:若依前端npm run dev啟動時報錯,解決辦法。 目錄 1、第1種解決方案(親測有效) 2、第2種解決方案(親測有效) Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node…

解決 adb install 錯誤INSTALL_FAILED_UPDATE_INCOMPATIBLE

最近給游戲出包&#xff0c;平臺要求 v1 簽名吧&#xff0c;AS 打包后&#xff0c;adb 執行安裝到手機&#xff0c;我用的設備是google pixel6 , android 系統 13&#xff0c; 提示如下&#xff1a; adb install -r v5_android_202308161046.apk Performing Streamed Install a…

centos 安裝.net 6 sdk

按照以下步驟在 CentOS 上安裝 .NET 6 SDK&#xff1a; 更新系統&#xff1a; sudo yum update安裝依賴項&#xff1a; sudo yum install -y curl libunwind libicu下載并添加 Microsoft 的軟件包存儲庫密鑰&#xff1a; sudo rpm -Uvh https://packages.microsoft.com/config/…

單片機第一季:零基礎13——AD和DA轉換

1&#xff0c;AD轉換基本概念 51 單片機系統內部運算時用的全部是數字量&#xff0c;即0 和1&#xff0c;因此對單片機系統而言&#xff0c;無法直接操作模擬量&#xff0c;必須將模擬量轉換成數字量。所謂數字量&#xff0c;就是用一系列0 和1 組成的二進制代碼表示某個信號大…

Linux -- 進階 Autofs自動掛載服務 實驗詳解

服務端創建共享目錄&#xff0c; 客戶端實現自動掛載 第一步 &#xff1a; 客戶端&#xff0c;服務端 均關閉安全軟件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootnode1 ~]# setenforce 0 [rootnode1 ~]# systemctl stop firewalld 第二…

在K8s上處理nginx

基本說明 創建一個名為ssl的TLS類型的Secret對象&#xff0c;用于存儲證書和密鑰信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events塊&#xff0c;設置worker連接數為1024。 events {worker_connections 1024; }配置Nginx的http塊&a…

MyBaits(單獨使用,與整合無關)小白版

文章目錄 概述比較配置寫xml加載上面配置并執行加載配置的方法方式一 執行方法方式一方式二(MyBatis映射器) 寫配置文件的映射文件設置對象的別名&#xff08;簡寫&#xff09;獲取自動生成的主鍵 查詢結果和java的映射規則基本類型映射&#xff1a;簡單對象映射&#xff1a;嵌…

加鹽加密算法

MD5加密加鹽加密項目密碼升級 MD5加密 MD5一系列公式進行復雜數學運算&#xff1b;特點&#xff1a;&#xff08;用途校驗和、計算hash值方式、加密&#xff09; 1&#xff1a;定長&#xff1b;無論原始數據多長&#xff1b;算出的結果都是4或者8字節的版本。 2&#xff1a;沖…

Java多線程實戰

Java多線程實戰 java多線程&#xff08;超詳細&#xff09; java自定義線程池總結 Java創建線程方式 方法1&#xff0c;繼承Thread類 方法2&#xff0c;實現Runable接口 方法2-2&#xff0c;匿名內部類形式lambda表達式 方法3&#xff0c;實現Callable接口&#xff0c;允許…

【深入理解Linux內核鎖】三、原子操作

我的圈子: 高級工程師聚集地 我是董哥,高級嵌入式軟件開發工程師,從事嵌入式Linux驅動開發和系統開發,曾就職于世界500強企業! 創作理念:專注分享高質量嵌入式文章,讓大家讀有所得! 文章目錄 1、原子操作思想2、整型變量原子操作2.1 API接口2.2 API實現2.2.1 原子變量結…

Shell 函數

Shell 函數 linux shell 可以用戶定義函數&#xff0c;然后在shell腳本中可以隨便調用。 shell中函數的定義格式如下&#xff1a; [ function ] funname [()] { action; [return int;] } 說明&#xff1a; 1、可以帶function fun() 定義&#xff0c;也可以直接fun…

log4j:WARN No appenders could be found for logger問題

本文將idea場景下的使用。 IDEA中&#xff0c;將配置文件命名為log4j.properties&#xff08;該命名才會被自動加載&#xff09;&#xff0c; 并放到某個目錄下&#xff08;通常放到resources目錄&#xff09;&#xff0c;并在resources上右鍵&#xff0c;找到Mark Directory a…

微信程序 自定義遮罩層遮不住底部tabbar解決

一、先上效果 二 方法 1、自定義底部tabbar 實現&#xff1a; https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html 官網去抄 簡單寫下&#xff1a;在代碼根目錄下添加入口文件 除了js 文件的list 需要調整 其他原封不動 代碼&#xf…

Hadoop數據遷移distcp

Hadoop數據遷移distcp 準備工作 確認源集群&#xff08;a&#xff09;,目標集群&#xff08;b&#xff09;確認a集群的主節點和b集群的主節點確認兩個集群的網絡相通確認遷移模式&#xff08;全量遷移還是增量遷移&#xff09;&#xff0c;這里選擇全量遷移 遷移文件 遷移t…

【路由協議】使用按需路由協議和數據包注入的即時網絡模擬傳遞率(PDR)、總消耗能量和節點消耗能量以及延遲研究(Matlab代碼實現)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;歡迎來到本博客????&#x1f4a5;&#x1f4a5; &#x1f3c6;博主優勢&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客內容盡量做到思維縝密&#xff0c;邏輯清晰&#xff0c;為了方便讀者。 ??座右銘&a…

斯坦福「小鎮」開源AI智能體;小米應用商店將要求AI應用符合資質標準

&#x1f989; AI新聞 &#x1f680; 斯坦福「小鎮」開源AI智能體 摘要:斯坦福研究人員開源了一個類似《西部世界》的數字化「小鎮」,里面有25個AI智能體可以生活、工作、社交。這項研究被視為AGI的重要開端,可能會改變游戲、企業應用領域。網友期待這項技術改善游戲NPC的交互…

PyMuPDF`庫實現PDF旋轉功能

本文介紹了一個簡單的Python應用程序&#xff0c;用于將PDF文件轉換為旋轉90度的PDF文件。主要用于csdn網站中導出的博客pdf是橫向的&#xff0c;看起來不是很方便&#xff0c;才想到用python編制一個將pdf從橫向轉為縱向的功能。 功能 該PDF轉換工具具有以下功能&#xff1a…

信息安全:防火墻技術原理與應用.

信息安全&#xff1a;防火墻技術原理與應用. 防火墻是網絡安全區域邊界保護的重要技術。為了應對網絡威脅&#xff0c;聯網的機構或公司將自己的網絡與公共的不可信任的網絡進行隔離&#xff0c;其方法是根據網絡的安全信任程度和需要保護的對象&#xff0c;人為地劃分若干安全…

C#工程建立后修改工程文件名與命名空間

使用之前的項目做二次開發&#xff0c;項目快結束的時候&#xff0c;需要把主項目的名稱修改成我們想要的。 之前從來沒有這么干過&#xff0c;記錄一下。 步驟如下&#xff1a; 1&#xff1a;打開vs2010項目解決方案&#xff0c;重命名&#xff0c;如下圖所示&#xff1a; …

SDP協議是什么,詳解SDP協議

一、SDP協議簡介 SDP&#xff08;Session Description Protocol&#xff09;是一種會話描述協議&#xff0c;用于描述多媒體會話的參數。它是一種文本協議&#xff0c;通常用于VoIP&#xff08;Voice over Internet Protocol&#xff09;和視頻會議等應用中。SDP協議定義了一種…