欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中v-form標(biāo)簽里的:rules作用及定義方法

 更新時(shí)間:2025年03月22日 10:25:57   作者:fridayCodeFly  
文章介紹了在Vue項(xiàng)目中使用ElementUI或ElementPlus組件庫時(shí),如何通過`el-form`標(biāo)簽的`:rules`屬性進(jìn)行表單驗(yàn)證,`:rules`屬性用于定義表單項(xiàng)的驗(yàn)證規(guī)則,包括必填項(xiàng)、格式校驗(yàn)、長度限制等,文章還展示了如何定義基本驗(yàn)證規(guī)則和自定義驗(yàn)證函數(shù),感興趣的朋友一起看看吧

在 Vue 項(xiàng)目中,如果你使用的是 Element UI 或 Element Plus 組件庫,el-form 標(biāo)簽上的 :rules 是用來進(jìn)行表單驗(yàn)證的

作用

:rules 用于為表單中的表單項(xiàng)(el-form-item)定義驗(yàn)證規(guī)則。當(dāng)用戶在表單中輸入數(shù)據(jù)時(shí),這些規(guī)則會(huì)對(duì)輸入內(nèi)容進(jìn)行校驗(yàn),以確保數(shù)據(jù)的合法性和完整性。例如,可以驗(yàn)證輸入是否為空、是否符合特定的格式(如郵箱格式、電話號(hào)碼格式等),以及輸入的長度是否在規(guī)定范圍內(nèi)等。如果輸入不符合規(guī)則,會(huì)顯示相應(yīng)的錯(cuò)誤提示信息。

定義方法

1. 基本驗(yàn)證規(guī)則

以下是一個(gè)簡單的示例,展示了如何定義和使用 :rules 進(jìn)行表單驗(yàn)證

<template>
  <el-form :model="formData" :rules="rules" ref="formRef">
    <el-form-item label="用戶名" prop="username">
      <el-input v-model="formData.username"></el-input>
    </el-form-item>
    <el-form-item label="密碼" prop="password">
      <el-input v-model="formData.password" type="password"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button @click="submitForm">提交</el-button>
    </el-form-item>
  </el-form>
</template>
<script setup>
import { ref } from 'vue';
// 定義表單數(shù)據(jù)
const formData = ref({
  username: '',
  password: ''
});
// 定義表單驗(yàn)證規(guī)則
const rules = ref({
  username: [
    { required: true, message: '請輸入用戶名', trigger: 'blur' },
    { min: 3, max: 10, message: '用戶名長度在 3 到 10 個(gè)字符之間', trigger: 'blur' }
  ],
  password: [
    { required: true, message: '請輸入密碼', trigger: 'blur' },
    { min: 6, max: 20, message: '密碼長度在 6 到 20 個(gè)字符之間', trigger: 'blur' }
  ]
});
// 定義表單引用
const formRef = ref(null);
// 提交表單方法
const submitForm = () => {
  formRef.value.validate((valid) => {
    if (valid) {
      console.log('表單驗(yàn)證通過,提交數(shù)據(jù):', formData.value);
    } else {
      console.log('表單驗(yàn)證失敗');
    }
  });
};
</script>

代碼解釋:
formData:存儲(chǔ)表單中的數(shù)據(jù)。
rules:定義了每個(gè)表單項(xiàng)的驗(yàn)證規(guī)則。每個(gè)規(guī)則是一個(gè)對(duì)象數(shù)組,每個(gè)對(duì)象代表一條驗(yàn)證規(guī)則。
required:表示該項(xiàng)是否為必填項(xiàng)。
message:當(dāng)驗(yàn)證不通過時(shí)顯示的錯(cuò)誤提示信息。
trigger:指定觸發(fā)驗(yàn)證的事件,常見的值有 blur(失去焦點(diǎn)時(shí)驗(yàn)證)和 change(值改變時(shí)驗(yàn)證)。
min 和 max:用于驗(yàn)證輸入的長度范圍。
prop:在 el-form-item 上使用 prop 屬性指定該表單項(xiàng)對(duì)應(yīng)的表單數(shù)據(jù)字段名,以便與 rules 中的規(guī)則對(duì)應(yīng)。
validate:調(diào)用 el-form 的 validate 方法進(jìn)行表單驗(yàn)證,驗(yàn)證結(jié)果通過回調(diào)函數(shù)返回。

2. 自定義驗(yàn)證規(guī)則

除了基本的驗(yàn)證規(guī)則,你還可以定義自定義的驗(yàn)證函數(shù):

<template>
  <el-form :model="formData" :rules="rules" ref="formRef">
    <el-form-item label="郵箱" prop="email">
      <el-input v-model="formData.email"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button @click="submitForm">提交</el-button>
    </el-form-item>
  </el-form>
</template>
<script setup>
import { ref } from 'vue';
import { validateEmail } from './utils'; // 假設(shè)這是一個(gè)自定義的郵箱驗(yàn)證函數(shù)
const formData = ref({
  email: ''
});
const rules = ref({
  email: [
    { required: true, message: '請輸入郵箱', trigger: 'blur' },
    { validator: validateEmail, message: '請輸入有效的郵箱地址', trigger: 'blur' }
  ]
});
const formRef = ref(null);
const submitForm = () => {
  formRef.value.validate((valid) => {
    if (valid) {
      console.log('表單驗(yàn)證通過,提交數(shù)據(jù):', formData.value);
    } else {
      console.log('表單驗(yàn)證失敗');
    }
  });
};
</script>

代碼解釋:
validator:指定一個(gè)自定義的驗(yàn)證函數(shù),該函數(shù)接收三個(gè)參數(shù):rule(當(dāng)前的驗(yàn)證規(guī)則)、value(當(dāng)前表單項(xiàng)的值)和 callback(用于返回驗(yàn)證結(jié)果的回調(diào)函數(shù))。在自定義驗(yàn)證函數(shù)中,你可以編寫復(fù)雜的驗(yàn)證邏輯,并通過 callback 函數(shù)返回驗(yàn)證結(jié)果。
通過以上方法,你可以靈活地定義和使用 :rules 進(jìn)行表單驗(yàn)證。 在 Vue 項(xiàng)目中,如果你使用的是

到此這篇關(guān)于Vue中v-form標(biāo)簽里的:rules有什么作用。如何定義。的文章就介紹到這了,更多相關(guān)Vue v-form標(biāo)簽:rules內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue-treeselect及el-tree點(diǎn)擊節(jié)點(diǎn)獲取上級(jí)節(jié)點(diǎn)的數(shù)據(jù)方式

    vue-treeselect及el-tree點(diǎn)擊節(jié)點(diǎn)獲取上級(jí)節(jié)點(diǎn)的數(shù)據(jù)方式

    這篇文章主要介紹了vue-treeselect及el-tree點(diǎn)擊節(jié)點(diǎn)獲取上級(jí)節(jié)點(diǎn)的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue2.0 slot分發(fā)內(nèi)容與props驗(yàn)證的方法

    Vue2.0 slot分發(fā)內(nèi)容與props驗(yàn)證的方法

    本篇文章主要介紹了Vue2.0 slot分發(fā)內(nèi)容與props驗(yàn)證的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • vue-cli監(jiān)聽組件加載完成的方法

    vue-cli監(jiān)聽組件加載完成的方法

    今天小編就為大家分享一篇vue-cli監(jiān)聽組件加載完成的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue模塊導(dǎo)入報(bào)錯(cuò)問題Module not found: Error:[CaseSensitivePathsPlugin]

    vue模塊導(dǎo)入報(bào)錯(cuò)問題Module not found: Error:[CaseSensi

    這篇文章主要介紹了vue模塊導(dǎo)入報(bào)錯(cuò)問題Module not found: Error:[CaseSensitivePathsPlugin],具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)代碼示例

    Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)代碼示例

    在Vue.js開發(fā)中我們經(jīng)常會(huì)遇到需要將數(shù)字格式化為保留兩位小數(shù)的情況,下面這篇文章主要給大家介紹了關(guān)于Vue前端數(shù)值轉(zhuǎn)換為千分位格式并保留兩位小數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • vue中集成省市區(qū)街四級(jí)地址組件的實(shí)現(xiàn)過程

    vue中集成省市區(qū)街四級(jí)地址組件的實(shí)現(xiàn)過程

    我們在開發(fā)中常會(huì)遇到選擇地址的需求,有時(shí)候只需要選擇省就可以,有時(shí)候則需要選擇到市、縣,以至于鄉(xiāng)鎮(zhèn),甚至哪個(gè)村都有可能,下面這篇文章主要給大家介紹了關(guān)于vue中集成省市區(qū)街四級(jí)地址組件的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Vue通過provide inject實(shí)現(xiàn)組件通信

    Vue通過provide inject實(shí)現(xiàn)組件通信

    這篇文章主要介紹了Vue通過provide inject實(shí)現(xiàn)組件通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Vue中加載天地圖的離線地圖基本步驟

    Vue中加載天地圖的離線地圖基本步驟

    這篇文章主要給大家介紹了關(guān)于Vue中加載天地圖的離線地圖的基本步驟,Vue天地圖離線地圖是指基于Vue框架開發(fā)的應(yīng)用程序,使用天地圖離線地圖服務(wù)提供商提供的地圖數(shù)據(jù),可以在沒有網(wǎng)絡(luò)的情況下使用地圖功能,需要的朋友可以參考下
    2023-10-10
  • vue項(xiàng)目使用websocket連接問題及解決

    vue項(xiàng)目使用websocket連接問題及解決

    這篇文章主要介紹了vue項(xiàng)目使用websocket連接問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 在vscode 中設(shè)置 vue模板內(nèi)容的方法

    在vscode 中設(shè)置 vue模板內(nèi)容的方法

    這篇文章主要介紹了在vscode 中設(shè)置 vue模板內(nèi)容的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論