iview 表單驗證問題 Select 已經選擇 還是彈驗證提示


iview 的 Select 下拉框的時候,數據驗證必填,明明選擇了數據,卻一直提示驗證不能通過

html代碼:

<Form ref="FormData" :model="FormData" :rules="ruleValidate" :label-width="100">
    <FormItem label="版本信息:" prop="typeId">
        <Select v-model="FormData.typeId" placeholder="請選擇" style="width:40%;">
            <Option
                v-for="item in select4"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </Option>
        </Select>
    </FormItem>
</Form>

獲取數據:

select4: [
        {
          value: 1,
          label: 'V1版本'
        },
        {
          value: 2,
          label: 'V2版本'
        }
],

驗證規則:

ruleValidate: {
   typeId: [
      { required: true, message: '請選擇版本信息', trigger: 'change' }
   ]
}

查看 iview 的文檔規,發現 iview 默認校驗數據類型為 String,而我的 select 用的 value 是 number 類型的,所以校驗添加 type 類型,所以最后驗證代碼應該寫成下面這種:

ruleValidate: {
   typeId: [
      { required: true, type: 'number', message: '請選擇版本信息', trigger: 'change' }
   ]
}

注意:這個問題只針對動態獲取的數據,如果是自定義的,可以改數據類型改為 String 類型:

select4: [
        {
          value: '1',
          label: 'V1版本'
        },
        {
          value: '2',
          label: 'V2版本'
        }
],

這樣不加 type 驗證規則,也是可以通過的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM