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

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

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

async-validator文檔
有值但校驗(yàn)不通的原因:大概率是type的類(lèi)型不對(duì) 。因?yàn)楸韱涡r?yàn)時(shí),不填type,默認(rèn)string類(lèi)型,如果值是number類(lèi)型,需要在校驗(yàn)中加入 type: ‘number’,如果值是array類(lèi)型,需要在校驗(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限制大寫(xiě)"
            />
          </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)中月份無(wú)效'))
        }
        // 校驗(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)中日期無(wú)效'))
        }
      }
      // 驗(yàn)證通過(guò)后,嘗試解析出生年月
      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開(kāi)頭
      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編輯器(增加圖片上傳功能),本文通過(guò)實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Vue SPA 如何解決瀏覽器緩存問(wèn)題

    Vue SPA 如何解決瀏覽器緩存問(wèn)題

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

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

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

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

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

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

    今天小編就為大家分享一篇vue 組件內(nèi)獲取actions的response方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    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)端上拉加載和下拉刷新,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Vue跳轉(zhuǎn)到新頁(yè)面再返回到舊頁(yè)面保持狀態(tài)不變的問(wèn)題

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

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

最新評(píng)論

灌南县| 汉源县| 满城县| 米泉市| 耒阳市| 宁都县| 泸定县| 安多县| 乌鲁木齐市| 甘南县| 海口市| 大英县| 马边| 五寨县| 眉山市| 温宿县| 吐鲁番市| 兴和县| 专栏| 彭阳县| 孟连| 绵阳市| 聊城市| 隆尧县| 陇南市| 琼海市| 界首市| 新沂市| 彭阳县| 宣化县| 弋阳县| 阿拉尔市| 南康市| 山阴县| 万州区| 平顶山市| 遂昌县| 白沙| 登封市| 方正县| 四川省|