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 验证规则,也是可以通过的。
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
Java成神之路-13 分钟前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然13 分钟前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java
竹枝溪23 分钟前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
技术长镜头28 分钟前
别再只会“加索引”:从磁盘页到 B+Tree,彻底理解 MySQL 索引的设计与运行
后端·mysql
上玄code31 分钟前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt
李冰然32 分钟前
深入Java集合框架:ArrayList源码解析(JDK 8)
java
小小啊python40 分钟前
IDEA中SpringBoot项目配置热部署
java·ide·intellij-idea·springboot·热部署
Java成神之路-1 小时前
Spring AI Alibaba 实现多轮对话记忆:ChatMemory 与 Redis 持久化实战
java·springaialibaba
Highcharts.js1 小时前
Highcharts 主流前端框架无缝集成指南
前端·vue.js·前端框架·highcharts·可视化图表
JAVA面经实录9171 小时前
网络编程基础(Java Web/分布式前置·完整版)(十一)
java·前端·网络