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

vue @vuelidate父子組件綁定注意事項

 更新時間:2025年02月17日 15:29:34   作者:堅定信念,勇往無前  
Vue@vuelidate父子組件驗證時,不能直接綁定,需在子組件驗證方法內(nèi)部進(jìn)行綁定,以避免父組件驗證時包含子組件的驗證

vue @vuelidate父子組件綁定注意

如果父子組件都有驗證的,不能這樣寫

	const V2$ = useVuelidate(rules, formdata)
	const submitBtn = async () => {
		const V2$ = useVuelidate(rules, formdata)

如果這樣寫的話,在父組件驗證時,也會把子組件的驗證代上。

正確寫法

	const submitBtn = async () => {
		const V2$ = useVuelidate(rules, formdata)
		 let validate =await V2$.value.$validate()

要在自己驗證的方法內(nèi)部進(jìn)行綁定

Vuelidate表單驗證規(guī)則

Vuelidate中的必填驗證規(guī)則

用到的技術(shù) vue + quasar + vuelidate(網(wǎng)址)

引用方法如下:

 Vue.use(window.vuelidate.default)
 var minLength = window.validators.minLength
 var required = window.validators.required 
 var requiredIf = window.validators.requiredIf
 var email = window.validators.email
 var helpers = window.validators.helpers

 validations: {
	baseInfoForm: {
        mobilePhone:{ required: required },        
        col19:{ required: required },                 
        kitchenTime:{  required: requiredIf(function(baseInfoForm) {
          return baseInfoForm.col19 == 'Y'  
          //當(dāng)col19的值為Y時,才有kitchenTime的驗證
        })}        


  }

一個簡單的例子:

<q-field 
icon="stay_primary_portrait"
:error="readonly == false? $v.baseInfoForm.mobilePhone.$error: false"
error-label="手機號碼不能為空"  //警告提示信息
class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
  <q-input
   :readonly="readonly"  
   @blur="$v.baseInfoForm.mobilePhone.$touch"
   :float-label="$t('手機號碼')"
   type="number"
   v-model="baseInfoForm.mobilePhone"></q-input>
</q-field>
<q-field
v-if="baseInfoForm.col19 == 'Y' "
icon="access_time"
:error="readonly == false? $v.baseInfoForm.kitchenTime.$error: false"
error-label="進(jìn)入廚電行業(yè)時間不能為空"
class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
  <q-datetime
   type="date"
   format="YYYY-MM-DD"
   format-model="string"
   :float-label="$t('若是,進(jìn)入廚電行業(yè)時間')"
   @blur="$v.baseInfoForm.kitchenTime.$touch"
    v-model="baseInfoForm.kitchenTime"></q-datetime>
</q-field>

效果如下:

具體代碼實現(xiàn)如下:

    <div id="q-supplierBaseInfo" v-cloak>
      <q-field 
   		icon="stay_primary_portrait"
        :error="readonly == false? $v.baseInfoForm.mobilePhone.$error: false"
        error-label="手機號碼不能為空"
        class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
        <q-input
          :readonly="readonly"  
           @blur="$v.baseInfoForm.mobilePhone.$touch"
           :float-label="$t('手機號碼')"
           type="number"
           v-model="baseInfoForm.mobilePhone"></q-input>
      </q-field>
      <q-field 
         icon="work"
         :error="readonly == false? $v.baseInfoForm.col19.$error: false"
         error-label="是否為供應(yīng)商不能為空"
         class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
         <q-select
           @blur="$v.baseInfoForm.col19.$touch"
           :float-label="$t('是否為供應(yīng)商')"
           :options="col19Options"
           v-model="baseInfoForm.col19"></q-select>
      </q-field>       
    </div>
   
    <script>
      // quasar components use
      Quasar.i18n.set(Quasar.i18n[LANGUGE])
      Vue.use(window.vuelidate.default)
      var minLength = window.validators.minLength
      var required = window.validators.required
      var requiredIf = window.validators.requiredIf
      var helpers = window.validators.helpers
      var supplierInvite = new Vue({
        el: '#q-supplierBaseInfo',
        i18n: i18n,
        data: function() {
          return {
            col19Options:[
              {
                label: '是',
                value: 'Y'
              },
              {
                label: '否',
                value: 'N'
              }
            ],
            baseInfoForm: { col19:''}
        },
        validations: {
          baseInfoForm: {
            col19:{ required: required },            
            kitchenTime:{  required: requiredIf(function(baseInfoForm) {
              return baseInfoForm.col19 == 'Y'           
            })}                                       
          }
        }
      })
    </script>

總結(jié)

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

相關(guān)文章

  • vxe-table動態(tài)渲染列,刷新列寬的方式

    vxe-table動態(tài)渲染列,刷新列寬的方式

    這篇文章主要介紹了vxe-table動態(tài)渲染列,刷新列寬的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 全面解析vue中的數(shù)據(jù)雙向綁定

    全面解析vue中的數(shù)據(jù)雙向綁定

    這篇文章主要介紹了vue中的數(shù)據(jù)雙向綁定問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • Vue.js?中?LocalStorage?與?SessionStorage操作示例最佳實踐

    Vue.js?中?LocalStorage?與?SessionStorage操作示例最佳實踐

    文章介紹了LocalStorage和SessionStorage的區(qū)別,包括生命周期、作用域、數(shù)據(jù)類型限制、基礎(chǔ)操作和進(jìn)階應(yīng)用場景,同時,還討論了最佳實踐、注意事項和常見錯誤及其解決方案,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • 一步步詳細(xì)講解vue3配置ESLint

    一步步詳細(xì)講解vue3配置ESLint

    ESLint主要用于代碼規(guī)范、統(tǒng)一代碼風(fēng)格,下面這篇文章主要給大家介紹了關(guān)于vue3配置ESLint的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用)

    vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用)

    這篇文章主要介紹了vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • Vue中的watch是什么以及watch和computed的區(qū)別

    Vue中的watch是什么以及watch和computed的區(qū)別

    這篇文章主要介紹了Vue中的watch是什么以及watch和computed的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • VUE搭建手機商城心得和遇到的坑

    VUE搭建手機商城心得和遇到的坑

    這篇文章主要介紹了VUE搭建手機商城心得和遇到的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue項目內(nèi)存溢出問題及解決方案

    vue項目內(nèi)存溢出問題及解決方案

    這篇文章主要介紹了vue項目內(nèi)存溢出問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue組件之間四種通信方式詳解

    Vue組件之間四種通信方式詳解

    vue框架提供了前端開發(fā)組件的思想,可以通過組件來組合成一個完整的頁面,都是隨著組件數(shù)量原來越多,組件之間難免需要相互通信。本文將為大家介紹四種組件間的通信方式,需要的可以參考一下
    2022-01-01
  • Vue使用ElementUI動態(tài)修改table單元格背景顏色或文本顏色

    Vue使用ElementUI動態(tài)修改table單元格背景顏色或文本顏色

    本文主要介紹了Vue使用ElementUI動態(tài)修改table單元格背景顏色或文本顏色,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論

大英县| 三穗县| 涪陵区| 遂宁市| 城市| 长丰县| 雷波县| 融水| 万州区| 喀喇沁旗| 嘉禾县| 威宁| 玉环县| 安龙县| 江安县| 仪陇县| 那坡县| 平安县| 武邑县| 文成县| 凉城县| 三江| 临朐县| 静乐县| 牡丹江市| 宝坻区| 乌兰察布市| 黔东| 信宜市| 蓬溪县| 大洼县| 简阳市| 大同县| 徐闻县| 澳门| 阆中市| 湘阴县| 界首市| 平山县| 邵武市| 丹江口市|