最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3表單組件el-form校驗規(guī)則rules屬性示例詳解

 更新時間:2024年08月17日 09:21:19   作者:和燁  
在el-form中正確使用rules校驗是非常重要的,rules使用不當(dāng)容易出現(xiàn)規(guī)則不生效、規(guī)則一直被觸發(fā)等各種現(xiàn)象,這篇文章主要給大家介紹了關(guān)于Vue3表單組件el-form校驗規(guī)則rules屬性的相關(guān)資料,需要的朋友可以參考下

前言

在使用 Element UI (現(xiàn)在稱為 Element Plus) 的表單組件 el-form 時,rules 屬性用于定義表單項的校驗規(guī)則。這些規(guī)則可以幫助你確保用戶輸入的數(shù)據(jù)符合預(yù)期的格式和要求。

基本用法

rules 是一個對象,其中每個鍵對應(yīng)一個表單項的字段名,值是一個或多個校驗規(guī)則。常見的校驗規(guī)則包括必填、數(shù)據(jù)類型、最小長度、最大長度、自定義校驗等。

示例代碼

以下是一個包含多個校驗規(guī)則的示例:

<template>
  <el-form :model="formData" :rules="rules" ref="form">
    <el-form-item label="用戶名" prop="username">
      <el-input v-model="formData.username"></el-input>
    </el-form-item>
    <el-form-item label="郵箱" prop="email">
      <el-input v-model="formData.email"></el-input>
    </el-form-item>
    <el-form-item label="密碼" prop="password">
      <el-input type="password" v-model="formData.password"></el-input>
    </el-form-item>
    <el-button type="primary" @click="submitForm">提交</el-button>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      formData: {
        username: '',
        email: '',
        password: ''
      },
      rules: {
        username: [
          { required: true, message: '用戶名不能為空', trigger: 'blur' },
          { min: 3, max: 15, message: '用戶名長度應(yīng)在3到15個字符之間', trigger: 'blur' }
        ],
        email: [
          { required: true, message: '郵箱不能為空', trigger: 'blur' },
          { type: 'email', message: '請輸入有效的郵箱地址', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '密碼不能為空', trigger: 'blur' },
          { min: 6, max: 20, message: '密碼長度應(yīng)在6到20個字符之間', trigger: 'blur' }
        ]
      }
    };
  },
  methods: {
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          console.log('表單提交成功');
        } else {
          console.log('表單校驗失敗');
          return false;
        }
      });
    }
  }
};
</script>

校驗規(guī)則詳解

  • required: 表示該字段是否為必填項。
  • message: 校驗失敗時顯示的錯誤提示信息。
  • trigger: 觸發(fā)校驗的時機,常見的值有 'blur' 和 'change'。
  • type: 指定校驗的數(shù)據(jù)類型,如 'string'、'number'、'email''url' 等。
  • min 和 max: 指定字符串長度或數(shù)值的范圍,只在 type 為 'string' 或 'number' 時有效。
  • 自定義校驗函數(shù): 可以通過 validator 屬性定義一個自定義的校驗函數(shù)。

自定義校驗函數(shù)示例

有時候內(nèi)置的校驗規(guī)則無法滿足需求,這時可以使用自定義校驗函數(shù):

rules: {
  password: [
    { required: true, message: '密碼不能為空', trigger: 'blur' },
    { min: 6, max: 20, message: '密碼長度應(yīng)在6到20個字符之間', trigger: 'blur' },
    { validator: validatePasswordStrength, trigger: 'blur' }
  ]
}

function validatePasswordStrength(rule, value, callback) {
  if (!/\d/.test(value)) {
    callback(new Error('密碼必須包含至少一個數(shù)字'));
  } else if (!/[a-zA-Z]/.test(value)) {
    callback(new Error('密碼必須包含至少一個字母'));
  } else {
    callback();
  }
}

在這個示例中,validatePasswordStrength 函數(shù)被用作自定義校驗函數(shù),確保密碼至少包含一個數(shù)字和一個字母。

附:更多自定義的校驗

例如:再次確認(rèn)密碼的,在data中定義一個const 常量,在rules中引入

1. 在form表單中加入rules,并加上prop=‘’

<el-form ref="form" :model="form" :rules="rules" size="small" label-width="88px">
	<el-form-item label="確認(rèn)密碼" prop="confirmPass">
        <el-input v-model="form.confirmPass" type="password" auto-complete="on" style="width: 370px;" />
    </el-form-item>
...
</el-form>

2.在data中定義一個const 常量

data(){
	// 定義規(guī)則 (rule, value, callback) 
	const confirmPass = (rule, value, callback) => {
      if (value) {
        if (this.form.newPass !== value) {
          callback(new Error('兩次輸入的密碼不一致'))
        } else {
          callback()
        }
      } else {
        callback(new Error('請再次輸入密碼'))
      }
    }
 ...
}

3. 在rules中引入自定義的規(guī)則confirmPass

rules:{
	oldPass: [
       { required: true, message: '請輸入舊密碼', trigger: 'blur' }
     ],
     newPass: [
       { required: true, message: '請輸入新密碼', trigger: 'blur' },
       { min: 6, max: 20, message: '長度在 6 到 20 個字符', trigger: 'blur' }
     ],
	confirmPass: [
       { required: true, validator: confirmPass, trigger: 'blur' }
   ]
...
}

總結(jié)

通過合理配置 el-form 中的 rules 屬性,可以實現(xiàn)復(fù)雜的表單校驗邏輯,提升表單的易用性和數(shù)據(jù)的可靠性。根據(jù)具體需求選擇合適的校驗規(guī)則和觸發(fā)時機,是實現(xiàn)高質(zhì)量表單的關(guān)鍵。

到此這篇關(guān)于Vue3表單組件el-form校驗規(guī)則rules屬性的文章就介紹到這了,更多相關(guān)Vue3 el-form校驗規(guī)則rules屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue做移動端適配最佳解決方案(親測有效)

    vue做移動端適配最佳解決方案(親測有效)

    這篇文章主要介紹了vue做移動端適配最佳解決方案(親測有效),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue中的事件修飾符once,prevent,stop,capture,self,passive

    vue中的事件修飾符once,prevent,stop,capture,self,passive

    這篇文章主要介紹了vue中的事件修飾符once,prevent,stop,capture,self,passive,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 在vue中完美使用ueditor組件(cdn)解讀

    在vue中完美使用ueditor組件(cdn)解讀

    這篇文章主要介紹了在vue中完美使用ueditor組件(cdn)解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 前端vue3搭建超詳細指南(快速上手搭建)

    前端vue3搭建超詳細指南(快速上手搭建)

    這篇文章主要介紹了使用Vue?3和Element-plus搭建前端項目的過程,包括項目搭建、Element-plus安裝和引入、axios安裝、sass使用、app.vue配置、組件創(chuàng)新、路由配置以及使用輔助插件來提高開發(fā)效率,需要的朋友可以參考下
    2025-02-02
  • 渲染函數(shù) & JSX詳情

    渲染函數(shù) & JSX詳情

    本篇文章來講解渲染函數(shù) & JSX,Vue 推薦在絕大多數(shù)情況下使用模板來創(chuàng)建你的 HTML。然而在一些場景中,你真的需要 JavaScript 的完全編程的能力。這時我們可以用渲染函數(shù),它比模板更接近編譯器,需要的朋友可以參考一下
    2021-09-09
  • VUE3中Element table表頭動態(tài)展示合計信息

    VUE3中Element table表頭動態(tài)展示合計信息

    本文主要介紹了在Vue中實現(xiàn)動態(tài)合計兩個字段并輸出摘要信息的方法,通過使用監(jiān)聽器和深度監(jiān)聽,確保當(dāng)數(shù)據(jù)變化時能正確更新合計結(jié)果,具有一定的參考價值,感興趣的可以了解一下
    2024-11-11
  • vue中keepAlive組件的作用和使用方法詳解

    vue中keepAlive組件的作用和使用方法詳解

    vue里提供了keep-alive組件用來緩存狀態(tài),這篇文章主要給大家介紹了關(guān)于vue中keepAlive組件的作用和使用方法的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • vue中使用sessionStorage記住密碼功能

    vue中使用sessionStorage記住密碼功能

    sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。這篇文章主要介紹了vue中使用sessionStorage記住密碼功能,需要的朋友可以參考下
    2018-07-07
  • VUE:vuex 用戶登錄信息的數(shù)據(jù)寫入與獲取方式

    VUE:vuex 用戶登錄信息的數(shù)據(jù)寫入與獲取方式

    今天小編就為大家分享一篇VUE:vuex 用戶登錄信息的數(shù)據(jù)寫入與獲取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue學(xué)習(xí)之Vue-Router用法實例分析

    vue學(xué)習(xí)之Vue-Router用法實例分析

    這篇文章主要介紹了vue學(xué)習(xí)之Vue-Router用法,結(jié)合實例形式分析了Vue-Router路由原理與常見操作技巧,需要的朋友可以參考下
    2020-01-01

最新評論

图木舒克市| 湖南省| 孙吴县| 开远市| 梨树县| 临安市| 大方县| 漠河县| 青河县| 凤庆县| 招远市| 长子县| 姜堰市| 百色市| 张家港市| 辛集市| 中山市| 新泰市| 高清| 阜宁县| 湖南省| 原阳县| 丰城市| 安义县| 洛川县| 肇庆市| 军事| 磐安县| 屏边| 四子王旗| 天镇县| 渭南市| 利津县| 海淀区| 普兰县| 武汉市| 伽师县| 东乌珠穆沁旗| 资兴市| 鄱阳县| 什邡市|