我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vueantd的from表单中验证rules中type的坑记录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vueantd的from表单中验证rules中type的坑记录

vue antd的from表单验证rules中type的坑

总结在最后哟~

我的代码如下

 <a-form
        ref="formRef"
        :model="detailState"
        layout="horizontal"
        :labelCol="{ span: 6 }"
        :wrapperCol="{ span: 14 }"
        :rules="rules"
      >
        <a-form-item label="分组" name="groupId">
          <a-select v-model:value="detailState.groupId">
            <a-select-option
              v-for="item in groupsList"
              :key="item.id"
              :value="item.id"
              >{{ item.groupName }}
            </a-select-option>
          </a-select>
        </a-form-item>
        ...
 </a-from>
const detailState = reactive({
      groupId: "",
      ...
});

const rules = {
      groupId: [
        {
          required: true,
          message: "分组必填",
          trigger: "change",
        },
      ],
 }

明明选择的里面有数据,但是还是会校验出来

报错如下

参考官网中的:

// 官网代码
<a-form-item label="Activity zone" name="region">
   <a-select v-model:value="formState.region" placeholder="please select your zone">
     <a-select-option value="shanghai">Zone one</a-select-option>
     <a-select-option value="beijing">Zone two</a-select-option>
   </a-select>
 </a-form-item>

// 官网代码
const rules = {
      region: [
        {
          required: true,
          message: 'Please select Activity zone',
          trigger: 'change',
        },
      ],
      ...
}

感觉并没有什么区别,看到其他人用到了type,类型是array;我也就试了试:

const rules = {
      groupId: [
        {
          required: true,
          message: "分组必填",
          trigger: "change",
          type: "array",
        },
      ]
}

但是依然报错

我想我的 groupId 定义的类型是 string ,而 type 的默认值也是string,为什么会报错呢,而看别人类似的代码,用的 array ,我把 groupId 的类型也改成数组后,还是报错。实在不理解…

虽然感觉到是一个小问题,但是自己就是尝试了很多,也看了别人的,最终没解决,最后问了大佬后,得知,这里的type校验的是<a-select-option/>value的值。

由于我得到的 item.id 是 number 类型,所以最后需要在 rules 中写的 type 为 number 即可。

 const rules = {
      groupId: [
        {
          required: true,
          message: "分组必填",
          trigger: "change",
          type: "number",
        },
      ]
 }

这样就不会报错了。

总结

rules中的type校验的是select中得到的值,也就是value的值,当value为字符串时,type的默认值就为string,就可以不写(官方的例子中就是这样)。

当不为string时就需要写类型,这里就用的是number。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vueantd的from表单中验证rules中type的坑记录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vueantd的from表单中验证rules中type的坑记录

这篇文章主要介绍了vueantd的from表单中验证rules中type的坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-17

vue中的rules表单验证怎么实现

这篇文章主要介绍“vue中的rules表单验证怎么实现”,在日常操作中,相信很多人在vue中的rules表单验证怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的rules表单验证怎么实现”的疑
2023-07-02

编程热搜

目录