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

vue中view-design的校驗(yàn)及閉坑指南

 更新時(shí)間:2026年02月21日 09:05:53   作者:k0933  
文章總結(jié)了async-validator文檔中校驗(yàn)不通過的原因,主要是由于type類型不匹配,文章詳細(xì)列舉了不同類型數(shù)據(jù)(如number、array等)的校驗(yàn)方法,并提供了具體的示例,感興趣的朋友一起看看吧

async-validator文檔
有值但校驗(yàn)不通的原因:大概率是type的類型不對(duì) 。因?yàn)楸韱涡r?yàn)時(shí),不填type,默認(rèn)string類型,如果值是number類型,需要在校驗(yàn)中加入 type: ‘number’,如果值是array類型,需要在校驗(yàn)中加入 type: ‘array’,等等

1、DatePicker日期

      <FormItem prop="userWorkDate">
            <DatePicker
              type="date"
              :readonly="!isEditor"
              placeholder="請(qǐng)選擇"
              v-model="addlist.userWorkDate"
            ></DatePicker>
          </FormItem>
       userWorkDate: [
          {
            required: true,
            message: '參加工作時(shí)間不能為空',
            trigger: 'change',
            type: 'date', // 重點(diǎn)
          },
        ],

1、Cascader 級(jí)聯(lián)選擇

        <FormItem prop="userNative">
            <Cascader
              :disabled="!isEditor"
              :data="CascaderData"
              :render-format="format"
              v-model="addlist.userNative"
              @on-change="changeArea"
            ></Cascader>
          </FormItem>
      userNative: [
          {
            required: true,
            type: 'array', // 重點(diǎn)
            message: '籍貫不能為空',
            trigger: 'change',
          },
        ],

3、上傳組件upload-使用隱藏的Input進(jìn)行校驗(yàn)

          <MyEpUploader
            ref="basicInfo"
            :preview-custom="true"
            :target="target"
            @file-success="userHighDegreeAttach"
          />
          //重點(diǎn)--使用隱藏的Input進(jìn)行校驗(yàn)
          <FormItem prop="userHighDegreeAttach">
            <Input v-show="false" v-model="addlist.userHighDegreeAttach" />
          </FormItem>
         userHighDegreeAttach: [
          {
            required: true,
            trigger: 'change',
            validator: validateUplaod,
          },
        ]
    const validateUplaod = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('附件不能為空'))
      }
      callback()
    }

4、身份證號(hào)的校驗(yàn)

          <FormItem prop="userCardNumber">
            <Input
              :readonly="!isEditor"
              v-model="addlist.userCardNumber"
              placeholder="身份證號(hào)限制18位,X限制大寫"
            />
          </FormItem>
      userCardNumber: [
          { required: true, validator: validateIdCard, trigger: 'blur' },
        ]
      // 身份證號(hào)正則校驗(yàn)
    const validateIdCard = (rule, value, callback) => {
      if (!value) {
        this.addlist.userBirth = ''
        return callback(new Error('身份證號(hào)不能為空'))
      }
      // 身份證號(hào)簡(jiǎn)單校驗(yàn):18位,18位最后一位是X
      const idCardReg = /^(\d{17}[\dX])$/
      if (!idCardReg.test(value)) {
        this.addlist.userBirth = ''
        return callback(new Error('請(qǐng)輸入有效的身份證號(hào)'))
      } else {
        // 提取出生年月日
        const birthStr = value.substr(6, 8) // 19800101
        const year = parseInt(birthStr.substr(0, 4))
        const month = parseInt(birthStr.substr(4, 2))
        const day = parseInt(birthStr.substr(6, 2))
        // 校驗(yàn)?zāi)暝氯?
        if (month < 1 || month > 12) {
          this.addlist.userBirth = ''
          return callback(new Error('身份證號(hào)中月份無效'))
        }
        // 校驗(yàn)日期
        const date = new Date(year, month - 1, day)
        if (
          date.getFullYear() !== year ||
          date.getMonth() + 1 !== month ||
          date.getDate() !== day
        ) {
          this.addlist.userBirth = ''
          return callback(new Error('身份證號(hào)中日期無效'))
        }
      }
      // 驗(yàn)證通過后,嘗試解析出生年月
      this.parseBirthFromIdCard(value)
      callback()
    }

5、手機(jī)號(hào)的校驗(yàn)

       <FormItem prop="userPhone">
            <Input
              :readonly="!isEditor"
              v-model="addlist.userPhone"
              placeholder="請(qǐng)輸入手機(jī)號(hào)"
            />
          </FormItem>
      userPhone: [
          { required: true, validator: validatePhone, trigger: 'blur' },
        ]
       // 手機(jī)號(hào)正則校驗(yàn)
    const validatePhone = (rule, value, callback) => {
      if (!value) {
        return callback(new Error('手機(jī)號(hào)不能為空'))
      }
      // 簡(jiǎn)單的手機(jī)號(hào)格式校驗(yàn):11位數(shù)字,以1開頭
      const phoneReg = /^1[3-9]\d{9}$/
      if (!phoneReg.test(value)) {
        return callback(new Error('請(qǐng)輸入有效的手機(jī)號(hào)'))
      }
      callback()
    }

6、動(dòng)態(tài)嵌套表單校驗(yàn)

      formDynamic: {
        annualAssess: [
          {
            startTime: '',
            result: '',
            status: 1,
          },
        ],
      },
    <Form
      class="form info-form"
      ref="formDynamic"
      :model="formDynamic"
    >
    <FormItem
        class="inner-item"
        :class="{ border: item.status }"
        v-for="(item, index) in formDynamic.annualAssess"
        :key="'annualAssess' + index"
      >
        <Row class="form-btn-list">
          <Button
            type="primary"
            :key="'annualAssessadd.' + index"
            v-if="isEditor && formDynamic.annualAssess.length - 1 === index"
            @click="handleAddResult"
            >新增</Button
          >
          <Button
            v-if="isEditor && formDynamic.annualAssess.length !== 1"
            type="error"
            :key="'annualAssessdelete.' + index"
            @click="handleRemoveResult(index)"
            >刪除</Button
          >
        </Row>
        <Row class="border-top">
          <Col class="bg ct border-bot" span="3">年度</Col>
          <Col span="9" class="ct p-5">
            <FormItem
              :prop="'annualAssess.' + index + '.startTime'"
            >
              <DatePicker
                type="year"
                :readonly="!isEditor"
                placeholder="請(qǐng)選擇"
                v-model="item.startTime"
              ></DatePicker>
            </FormItem>
          </Col>
          <Col class="bg ct" span="3">考核結(jié)果</Col>
          <Col span="9" class="p-5 ct">
            <FormItem
              :prop="'annualAssess.' + index + '.result'"
              :key="'annualAssess.' + index + '.result'"
              :rules="{
                required: true,
                message: '考核結(jié)果不能為空',
                trigger: 'change',
              }"
            >
              <Select
                :disabled="!isEditor"
                v-model="item.result"
                placeholder="請(qǐng)選擇"
              >
                <Option
                  v-for="(item, index) in cangongkaoheOPtion"
                  :key="index"
                  :value="item.value"
                  >{{ item.name }}</Option
                >
              </Select>
            </FormItem>
          </Col>
        </Row>
      </FormItem>
   </Form>

到此這篇關(guān)于vue中view-design的校驗(yàn)及閉坑指南的文章就介紹到這了,更多相關(guān)vue  view-design校驗(yàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中利用simplemde實(shí)現(xiàn)markdown編輯器(增加圖片上傳功能)

    vue中利用simplemde實(shí)現(xiàn)markdown編輯器(增加圖片上傳功能)

    這篇文章主要介紹了vue中利用simplemde實(shí)現(xiàn)markdown編輯器(增加圖片上傳功能),本文通過實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Vue SPA 如何解決瀏覽器緩存問題

    Vue SPA 如何解決瀏覽器緩存問題

    這篇文章主要介紹了Vue SPA 如何解決瀏覽器緩存問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue3中打字機(jī)效果實(shí)現(xiàn)的技術(shù)完整指南

    Vue3中打字機(jī)效果實(shí)現(xiàn)的技術(shù)完整指南

    在移動(dòng)設(shè)備上,為了提升用戶體驗(yàn),開發(fā)者會(huì)通過各種創(chuàng)意效果設(shè)計(jì)交互界面,下面這篇文章主要介紹了Vue3中打字機(jī)效果實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-02-02
  • Vue組件的實(shí)現(xiàn)原理詳細(xì)分析

    Vue組件的實(shí)現(xiàn)原理詳細(xì)分析

    在日常業(yè)務(wù)開發(fā)中我們會(huì)經(jīng)常封裝一些業(yè)務(wù)組件,下面這篇文章主要給大家介紹了關(guān)于Vue組件的實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue 組件內(nèi)獲取actions的response方式

    vue 組件內(nèi)獲取actions的response方式

    今天小編就為大家分享一篇vue 組件內(nèi)獲取actions的response方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 關(guān)于TypeScript的踩坑記錄

    關(guān)于TypeScript的踩坑記錄

    這篇文章主要介紹了關(guān)于TypeScript的踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue滾動(dòng)軸插件better-scroll使用詳解

    vue滾動(dòng)軸插件better-scroll使用詳解

    這篇文章主要為大家詳細(xì)介紹了vue滾動(dòng)軸插件better-scroll的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • vue實(shí)現(xiàn)element上傳多張圖片瀏覽刪除功能

    vue實(shí)現(xiàn)element上傳多張圖片瀏覽刪除功能

    這篇文章主要介紹了vue實(shí)現(xiàn)element上傳多張圖片瀏覽刪除功能,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-10-10
  • vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新

    vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新

    這篇文章主要介紹了vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Vue跳轉(zhuǎn)到新頁面再返回到舊頁面保持狀態(tài)不變的問題

    Vue跳轉(zhuǎn)到新頁面再返回到舊頁面保持狀態(tài)不變的問題

    這篇文章主要介紹了Vue跳轉(zhuǎn)到新頁面再返回到舊頁面保持狀態(tài)不變的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

周至县| 屯留县| 蓝田县| 如东县| 长寿区| 宜春市| 墨竹工卡县| 营口市| 巫山县| 开化县| 高淳县| 浮山县| 区。| 新和县| 龙江县| 塔城市| 屏山县| 正宁县| 拜泉县| 孙吴县| 乌苏市| 澄迈县| 丰城市| 临湘市| 大关县| 交口县| 阳春市| 城步| 七台河市| 资中县| 榆社县| 堆龙德庆县| 临城县| 海口市| 蒲城县| 凉山| 海晏县| 临潭县| 凉城县| 北票市| 金门县|