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

vue @vuelidate父子組件綁定注意事項(xiàng)

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

vue @vuelidate父子組件綁定注意

如果父子組件都有驗(yàn)證的,不能這樣寫(xiě)

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

如果這樣寫(xiě)的話,在父組件驗(yàn)證時(shí),也會(huì)把子組件的驗(yàn)證代上。

正確寫(xiě)法

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

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

Vuelidate表單驗(yàn)證規(guī)則

Vuelidate中的必填驗(yàn)證規(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時(shí),才有kitchenTime的驗(yàn)證
        })}        


  }

一個(gè)簡(jiǎn)單的例子:

<q-field 
icon="stay_primary_portrait"
:error="readonly == false? $v.baseInfoForm.mobilePhone.$error: false"
error-label="手機(jī)號(hào)碼不能為空"  //警告提示信息
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('手機(jī)號(hào)碼')"
   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è)時(shí)間不能為空"
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è)時(shí)間')"
   @blur="$v.baseInfoForm.kitchenTime.$touch"
    v-model="baseInfoForm.kitchenTime"></q-datetime>
</q-field>

效果如下:

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

    <div id="q-supplierBaseInfo" v-cloak>
      <q-field 
   		icon="stay_primary_portrait"
        :error="readonly == false? $v.baseInfoForm.mobilePhone.$error: false"
        error-label="手機(jī)號(hào)碼不能為空"
        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('手機(jī)號(hào)碼')"
           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é)

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

相關(guān)文章

  • 詳解vue-cli官方腳手架配置

    詳解vue-cli官方腳手架配置

    這篇文章主要介紹了詳解vue-cli官方腳手架配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • vue.js 實(shí)現(xiàn)點(diǎn)擊展開(kāi)收起動(dòng)畫(huà)效果

    vue.js 實(shí)現(xiàn)點(diǎn)擊展開(kāi)收起動(dòng)畫(huà)效果

    這篇文章主要介紹了vue.js 實(shí)現(xiàn)點(diǎn)擊展開(kāi)收起動(dòng)畫(huà)效果,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉的示例代碼

    vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉的示例代碼

    本文主要介紹了vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉,這里采用的是vant的文件上傳組件,通過(guò)上傳圖片后端識(shí)別圖片里的人臉,感興趣的可以了解一下
    2021-11-11
  • 解決vue字符串換行問(wèn)題(絕對(duì)管用)

    解決vue字符串換行問(wèn)題(絕對(duì)管用)

    這篇文章主要介紹了解決vue字符串換行問(wèn)題(絕對(duì)管用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue-cli項(xiàng)目修改文件熱重載失效的解決方法

    vue-cli項(xiàng)目修改文件熱重載失效的解決方法

    今天小編就為大家分享一篇vue-cli項(xiàng)目修改文件熱重載失效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue實(shí)現(xiàn)實(shí)時(shí)上傳文件進(jìn)度條

    vue實(shí)現(xiàn)實(shí)時(shí)上傳文件進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)實(shí)時(shí)上傳文件進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中的scope使用詳解

    vue中的scope使用詳解

    這篇文章主要介紹了vue中的scope使用詳解,需要的朋友可以參考下
    2017-10-10
  • VUE2.0中Jsonp的使用方法

    VUE2.0中Jsonp的使用方法

    使用JSONP主要是目的通過(guò)動(dòng)態(tài)創(chuàng)建Script,動(dòng)態(tài)拼接url,進(jìn)而抓取數(shù)據(jù),實(shí)現(xiàn)跨域。這篇文章主要介紹了VUE2.0中Jsonp的使用方法(前端),需要的朋友可以參考下
    2018-05-05
  • vue之el-menu-item如何更改導(dǎo)航菜單欄選中的背景顏色

    vue之el-menu-item如何更改導(dǎo)航菜單欄選中的背景顏色

    這篇文章主要介紹了vue之el-menu-item如何更改導(dǎo)航菜單欄選中的背景顏色問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue利用插件實(shí)現(xiàn)打印功能的示例詳解

    Vue利用插件實(shí)現(xiàn)打印功能的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用vue-print-nb插件實(shí)現(xiàn)打印功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)一下
    2023-03-03

最新評(píng)論