当前位置: 首页 > article >正文

解决view-ui-plus 中表单验证不通过问题,select 组件开启multiple模式 总是提示错误,即使不验证也提示,有值也验证失败

😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是——认准方向,坚持不懈,你终将迎来辉煌!欢迎关注我😁,我将在这里分享工作中积累的经验和心得,希望我的分享能够给你带来帮助。

报错描述

在使用view-ui-plus 的 Select组件开启多选后验证不通过,明明有选项报错,即使去掉验证也报错。
在这里插入图片描述

错误代码展示

const ruleValidate = reactive({
  targetSys: [{ required: false, message: '请选择', trigger: 'change' }]
});

错误原因分析

1. 确保 v-model 绑定的是一个数组
2. 设置正确的验证规则
3. 检查触发验证的方式是否正确

检查触发验证的方式是否正确,对于 Select 组件来说,通常是 change 事件

4. 检查 handleSelect 方法不会干扰验证

检查你的 handleSelect 方法是否有可能改变 formValidate.targetSys 或者其他可能影响验证状态的行为。确保它只做必要的事情,并且不会意外地清除或修改绑定的数据。

5. 确认 targetSysList 数据源无误

确保 targetSysList 提供了正确的选项数据,而且每个 Optionvaluelabel 都是有效的。

解决方案

经过分析后发现是验证规则问题,做一下修改:

rules: {
  targetSys: [
    { required: true, type: 'array', message: '请选择至少一项', trigger: 'change' },
    { type: 'array', min: 1, message: '最少选择一项', trigger: 'change' }
  ]
}

设置 type: 'array' 来指定这是对数组类型的验证,并设置 min 属性来规定最小长度。

改完以后OK啦!

总结

表单验证会报错,除了没有值会通不过,格式错误,验证规则错误也会通不过,以后遇到这种明明有值,但还一直提示不通过,首先要去考虑是否是数据格式不匹配,或则验证规则不匹配,这个方法通用,不限制于任何框架。


http://www.kler.cn/a/430074.html

相关文章:

  • MySQL学习笔记2【函数/约束/多表查询】
  • Mac上鸿蒙配置HDC报错:zsh: command not found: hdc -v
  • 如何评价deepseek-V3 VS OpenAI o1 自然语言处理成Sql的能力
  • 【数据库系统概论】数据库恢复技术
  • 了解模2除法:原理与应用
  • Vue2:el-table中的文字根据内容改变颜色
  • 亚马逊云科技re:Invent大会:数据与AI如何颠覆企业未来?
  • Tr0ll: 1 Vulnhub靶机渗透笔记
  • 阿里内部正式开源“Spring Cloud Alibaba (全彩小册)”
  • Android问题记录 - Inconsistent JVM-target compatibility detected for tasks
  • 05-树莓派-交叉编译
  • PHP和GD如何给图片添加滤镜效果
  • 【QNX+Android虚拟化方案】134 - QNX侧配置开机自动抓取tcpdump 报文
  • 第一篇:k8s架构与组件详解
  • 自然语言处理:从入门到精通全指引
  • 【LLMs】用LM Studio本地部署离线大语言模型
  • 从零开始的使用SpringBoot和WebSocket打造实时共享文档应用
  • 学生信息管理系统(简化版)
  • 动画Lottie
  • 微服务篇面试题
  • 亚马逊云科技Swami博士:生成式AI即将达到临界点
  • ESP32-S3模组上跑通ES8388(24)
  • 【时间序列预测】基于PyTorch实现CNN_BiLSTM算法
  • 【NextJS】Arco Design与Next.js快速上手
  • PDF提取文本
  • 微知-如何根据git reflog恢复到操作之前的状态?(git reflog; git reset --hard xxx)