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

el-form表單el-form-item驗證規(guī)則里prop一次驗證兩個或多個值問題

 更新時間:2023年05月20日 11:02:22   作者:Ypromise-  
這篇文章主要介紹了el-form表單el-form-item驗證規(guī)則里prop一次驗證兩個或多個值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

el-form el-form-item驗證規(guī)則里prop一次驗證兩個或多個值

需求

要在表單的el-form-item 一次驗證兩個值,都不能為空

圖示:

下圖是圈起來的地方是我要驗證的第一個值

方法

在驗證規(guī)則rules里,要驗證的值里加上validator驗證規(guī)則,“valTowValue”是自己定義的。

緊接著在data下定義validator驗證規(guī)則。

如果一個el-form-item里要驗證多個,方法同理,在valTowValue里多判斷幾個就行了。

el-form表單驗證的一些方法總結

Form 組件提供了表單驗證的功能,只需要通過 rules 屬性傳入約定的驗證規(guī)則,并將 Form-Item 的 prop 屬性設置為需校驗的字段名即可。

前置知識點

  • 根據文檔說明,model為表單的數據對象,el-form通過model綁定數據。
  • reles為表單驗證規(guī)則對象,其中字段名要與model中的字段名一一對應
  • el-form-item 容器,通過 label 綁定標簽,prop屬性設置為需要驗證的字段名
  • 表單組件通過 v-model 綁定 model 中的數據

表單校驗相關屬性

  • hide-required-asterisk:是否隱藏必填字段的標簽旁邊的紅色星號(隱藏必錄標識)
  • inline-message:是否以行內形式展示校驗信息(驗證消息是否在一行顯示)

方式一(無表單嵌套)

以一般的form表單為例:

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"?
class="demo-ruleForm">
? ? <el-form-item label="活動名稱" prop="name">?
? ? ? ? <el-input v-model="ruleForm.name"></el-input>?
? ? </el-form-item>
<el-form>

一般在vue中這樣來寫,就可以對表單進行驗證。

data(){
? ? return {
? ? ? ? ruleForm: { name: '' },
? ? ? ? rules: {
? ? ? ? ? ? name: [?
? ? ? ? ? ? ? ? { required: true, message: '請輸入活動名稱', trigger: 'blur' },?
? ? ? ? ? ? ? ? { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' }?
? ? ? ? ? ? ]
? ? ? ? }
? ? }
},

如果有一些復雜的驗證規(guī)則,也可以選擇自定義驗證, validator

data() {
?const userValidator = (rule, value, callback) => {
? ? if (value.length > 3) {
? ? ? callback()
? ? } else {
? ? ? callback(new Error('用戶名長度必須大于3'))
? ? }
? }
? return {}
}
rules: {
? ? ? user: [
? ? ? ? { validator: userValidator, trigger: 'change' }
? ? ? ]
? ? }

方式二(表單嵌套)

嵌套的表單,一般業(yè)務場景是,有一些表單項需要按照條件顯示或者隱藏,data里面的model數據可能會是對象里面套對象的,el-form也同樣支持嵌套的驗證,寫法一般如下:

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"?
class="demo-ruleForm">
? ? <el-form-item label="活動名稱">?
? ? ? ? <el-input v-model="ruleForm.name"></el-input>
? ? ? ? <el-form-item prop="info.name">?
? ? ? ? ? ? <el-input v-model="ruleForm1.info.name"></el-input>
? ? ? ? </el-form-item>
? ? </el-form-item>
<el-form>
data(){
? ? return {
? ? ? ? ? ?ruleForm: {
? ? ? ? ? ? ? ? info: {
? ? ? ? ? ? ? ? ? ? name: ''
? ? ? ? ? ? ? ? }
? ? ? ? ? ? },
? ? }
}

rules里面同樣也可以這樣寫

rules: {
? ? ? info: {
? ? ? ? ? name: [{ required: true, message: '請選擇', trigger: 'change' }],
? ? ? }
? ? }

方式三(動態(tài)表單驗證)

  • 除了在 Form 組件上一次性傳遞所有的驗證規(guī)則外還可以在單個的表單域上傳遞屬性的驗證規(guī)則.
  • 動態(tài)添加form-item的時候,可以使用
<el-form-item prop="email" label="郵箱" :rules="[ { required: true, message: '請輸入郵箱地址', trigger: 'blur' }, { type: 'email', message: '請輸入正確的郵箱地址', trigger: ['blur', 'change'] } ]" > <el-input v-model="dynamicValidateForm.email"></el-input> </el-form-item>

方式四(動態(tài)添加校驗規(guī)則)

根據條件判斷是否需要某種驗證規(guī)則時,一個簡單的使用場景就是,通過不同的type去顯示不同的錯誤信息。

const message =
? ? ? this.type === 'addFirst'
? ? ? ? ? '請輸入一級名稱'
? ? ? ? : this.type === 'addChild'
? ? ? ? ? '請輸入二級名稱'
? ? ? ? : this.type === 'addThree' && this.editChannelItem
? ? ? ? ? '請選擇三級名稱'
? ? ? ? : '請輸入三級名稱';
? ? const validatorHandle = (rule, value, callback) => {
? ? ? if (value) {
? ? ? ? callback();
? ? ? } else {
? ? ? ? callback(new Error(message));
? ? ? }
? ? };
? ? const newRule = [...this.formInfoRules.name, { validator: validatorHandle, trigger: 'blur' }];
? ? this.formInfoRules = Object.assign({}, this.formInfoRules, { name: newRule });

方式五(手動控制校驗狀態(tài))

  • error錯誤信息
  • validate-status驗證狀態(tài)。 success 驗證成功, error驗證失敗, validating驗證中,''未驗證

這樣使用:

<el-form-item
? ? ? ? ? ? ? ? :error="validateFormState.error"
? ? ? ? ? ? ? ? :validate-status="validateFormState.state"
? ? ? ? ? ? ? >
? ? ? ? ? ? </el-form-item>
? validateFormState = {
? ? periodSendDateError: '',
? ? periodSendDateStatus: 'success',
? };

在驗證成功或者失敗的時候去手動控制error和validate-status的值即可。 

最后

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue的彈出框實現(xiàn)圖片預覽和視頻預覽功能

    Vue的彈出框實現(xiàn)圖片預覽和視頻預覽功能

    本文介紹基于Vue3的媒體預覽組件,支持圖片與視頻預覽,具備縮放、旋轉、拖拽功能,采用ElementUI Dialog容器,通過計算屬性實現(xiàn)動態(tài)樣式,優(yōu)化拖拽性能,自動調整方向,便于集成使用
    2025-08-08
  • Vue+ElementUI使用vue-pdf實現(xiàn)預覽功能

    Vue+ElementUI使用vue-pdf實現(xiàn)預覽功能

    這篇文章主要為大家詳細介紹了Vue+ElementUI使用vue-pdf實現(xiàn)預覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • vue+element-plus上傳圖片及回顯問題及數量限制

    vue+element-plus上傳圖片及回顯問題及數量限制

    本文主要介紹了vue+element-plus上傳圖片及回顯問題及數量限制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Vue使用echarts定制特殊的儀表盤

    Vue使用echarts定制特殊的儀表盤

    這篇文章主要為大家詳細介紹了Vue使用echarts定制特殊的儀表盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue+el-table實現(xiàn)合并單元格

    vue+el-table實現(xiàn)合并單元格

    這篇文章主要為大家詳細介紹了vue+el-table實現(xiàn)合并單元格,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue異步組件處理路由組件加載狀態(tài)的解決方案

    Vue異步組件處理路由組件加載狀態(tài)的解決方案

    這篇文章主要介紹了Vue異步組件處理路由組件加載狀態(tài)的解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Vue中inheritAttrs的使用實例詳解

    Vue中inheritAttrs的使用實例詳解

    這篇文章主要介紹了Vue中inheritAttrs的使用實例詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Vue使用vue-cli創(chuàng)建項目

    Vue使用vue-cli創(chuàng)建項目

    這篇文章主要介紹了Vue使用vue-cli創(chuàng)建項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue.js 獲取當前自定義屬性值

    vue.js 獲取當前自定義屬性值

    本篇文章主要介紹了vue.js 獲取當前自定義屬性值,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • vue+echarts實現(xiàn)動態(tài)繪制圖表及異步加載數據的方法

    vue+echarts實現(xiàn)動態(tài)繪制圖表及異步加載數據的方法

    vue寫的后臺管理,需要將表格數據繪制成圖表(折線圖,柱狀圖),圖表數據都是通過接口請求回來的。這篇文章主要介紹了vue+echarts 動態(tài)繪制圖表及異步加載數據的相關知識,需要的朋友可以參考下
    2018-10-10

最新評論

苗栗县| 江川县| 满洲里市| 乐平市| 长治市| 连平县| 杭锦后旗| 宣汉县| 敖汉旗| 来宾市| 都安| 建始县| 大姚县| 保亭| 锡林郭勒盟| 泗洪县| 武穴市| 北安市| 宁安市| 兴国县| 马山县| 清远市| 宜良县| 沐川县| 自治县| 化德县| 页游| 库尔勒市| 博客| 嘉峪关市| 齐齐哈尔市| 湖南省| 蒙城县| 句容市| 图片| 赤水市| 海阳市| 扎鲁特旗| 隆尧县| 平舆县| 秦皇岛市|