关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案

这篇具有很好参考价值的文章主要介绍了关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

- 前言

这几天在做uni-app表单验证时遇到了一个问题,按官方文档给出的方法,当需要数据校验时,只需要
1.为uni-forms中的"modelValue"数据设置“:rules”对应
2.“uni-forms-item”的name和“uni-easyinput”中“v-model”中的key和“rules”中的key相同
就可以对该项“uni-easyinput”做数据校验了。
关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案
关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案

这一步很多人看官方文档就能够写好,并没有其他问题。

- 问题

问题在于,formsData不可能只是一层对象,这里面很可能是对象包对象,也就是“多级结构对象数据”(如图所示),此时,按上面的校验方法,当“uni-easyinput”后面有很多级时,name就不知道如何写了,rules也没有可以参照的方法。
关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案

如果你再按下图这样写,那name是找不到rules中与之对应的key的,也就是说数据校验无效,你无论输入框中怎么写内容,依然会提示“请输入内容”。
关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案
*

这里要说一句,uni-app的uni-ui和elementUI完全没办法比,问题无比的多,而且功能都不完全,网上教程又少,真的太难用了。

- 解决方案

在全网搜索很久后,最后在该组件下面看到了作者对类型问题的提问,在作者的推荐下,尝试使用开发文档中提到的“动态表单校验”来完整该需求。
关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案
这里“动态表单校验”的大概意思是,单独给“uni-forms-item”写一个规则,将name以数组方式写,把后面多个key组合在数组中,写出来就是这样的。

<uni-forms-item label="购入渠道" name="buyWay" required :rules="[{'required': true,errorMessage: '该项必填'}]"
:name="['buyInfo','buyWay']">
<uni-easyinput v-model="commodity.buyInfo.buyWay" placeholder="">
</uni-easyinput>
</uni-forms-item>

附上对应图片(如下图所示)关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案
这样就不需要在到“uni-forms”中的rules中为该项写规则了,因为该项单独有了校验规则。
其他地方没有改变。至此,就可以正常校验了。

没有输入数据时

关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案

输入数据后关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案文章来源地址https://www.toymoban.com/news/detail-407572.html

到了这里,关于关于uni-app中uni-forms表单验证时“多级结构对象数据”如何做数据校验的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app:重置表单数据

    2024年02月09日
    浏览(29)
  • 《uni-app》表单组件-Checkbox组件

    本文分享的checkbox组件为uni-app的内置组件checkbox,非扩展组件,两者在用法上其实大同小异,只是扩展组件的属性以及事件更多…没有本质上的区别~ Checkbox,复选框,图形化界面基础组件之一,常用于复选多个选项时的业务场景,如问卷调查业务场景中的多项选择题等; 基

    2024年02月03日
    浏览(36)
  • 《uni-app》表单组件-Button按钮

    本文分享的button组件为uni-app的内置组件button,非扩展组件,两者在用法上其实大同小异,只是扩展组件的属性更多…没有本质上的区别~ Button,按钮,图形化界面基础组件之一,常用于响应用户的点击事件、触发业务逻辑操作时使用; 按钮基础用法如下: 在基础用法下,

    2024年02月02日
    浏览(32)
  • uni-app -- - - - 小程序如何向后端发送Form Data格式的数据

    接口请 求方式 传参方式 ,肯定不是一成不变的,当遇到如题需求的时候,要知道, 小程序是没有FormData对象 的,那么该怎么操作呢??? 直接上代码: 效果如图: 如上所示,这样写起来功能实现了,但是看起来这代码太不美观了 效果如图: 参考文章: 使用wx.request发送

    2024年02月08日
    浏览(31)
  • uni-app 之 短信验证码登录

    uni-app 之 短信验证码登录 image.png image.png

    2024年02月07日
    浏览(36)
  • uni-app使用uniCloud实现图形验证码(uni-captcha)

    uniCloud 是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。 官方文档:https://uniapp.dcloud.net.cn/uniCloud/uni-captcha.html 下载地址:https://ext.dcloud.net.cn/plugin?id=4048 GitCode 仓库:https://gitee.com/dcloud/uni-captcha 图形验证码主要起到人机校验或其他限制

    2024年02月08日
    浏览(31)
  • 关于uni-app小程序接入微信登录

    https://uniapp.dcloud.net.cn/api/plugins/login.html#login 官网上有关于uni.login()的说明,如果是要微信登录,则需要wx.login()。 小程序登录 | 微信开放文档         如下图,在小程序管理平台生成AppSecret,同时将AppId在HubilderX中配置。           在HbuilderX中使用wx.login获取到code,然后调用

    2024年02月11日
    浏览(33)
  • 关于uni-app 外部系统联登遇到的坑

    由于鄙人用了uni-app的即时通讯,所以用户体系必须同步uni-app那边的。这些操作也必须由自己的服务器来完成,所以需要把uni-app那边的接口进行url化。 uni-app的文档地址:云对象(uni-id-co) | uniCloud 所用的接口为 POST /your-uni-id-co-path/externalRegister POST /your-uni-id-co-path/externalLogi

    2024年03月28日
    浏览(35)
  • #微信小程序# #uni-app# 实现提交表单或登录,需勾选同意协议,才可以进行下一步

    一、需求: 实现提交表单或登录,需勾选同意协议,才可以进行下一步 二、步骤/思路: (1)使用uni-app的组件checkbox-group排出勾选协议版面   (2)设置一个多选框的数组,绑定在u-checkbox-group里, 使用这个数组来进行判断是否勾选了用户协议 (3)设置点击事件toBngling(),写

    2024年02月12日
    浏览(39)
  • 关于uni-app中富文本展示,并可预览图片的实现

    这是一片记录 自己挖坑还有填坑 的过程 事情是这样的,我用uni-app框架编写了一个项目,里面有个功能是通过接口传过来的数据,展示页面,(富文本展示),一开始我是使用了uni-app自带的 rich-text 组件,但是项目上线测试时,没有 图片预览功能 ,所以我更换组件,使用

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包