uniapp微信小程序自定义表单校验失效

这篇具有很好参考价值的文章主要介绍了uniapp微信小程序自定义表单校验失效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用uniapp的uni-forms写微信小程序,发现自定义校验方法在小程序端失效,解决方法如下

html

<uni-forms ref="form" :modelValue="info" :label-width="100" >
    <uni-forms-item label="联系电话" required name="lxdh">
        <uni-easyinput v-model="info.lxdh" placeholder="请输入联系电话"/>
    </uni-forms-item>

js

rules的validateFunction使用异步校验

data() {
    //电话校验
    let phone = /((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/;
return {
    info: {
            lxdh:'',
            },
    rules: {
         lxdh: {
             rules: [{
                 required: true,
                 errorMessage: '请输入联系电话'
             }, {
                 validateFunction: (rule, value, data, callback) => {
                 // 异步需要返回 Promise 对象
                     return new Promise((resolve, reject) => {
                         setTimeout(() => {
                             if (!phone.test(value) && value !== '') {
                                 reject(new Error('请输入正确电话号码'))
                             } else {
                                 resolve()
                             }
                         }, 100)
                     })
                 }
             }]
        },
    }
}

onLoad方法中手动设置rules文章来源地址https://www.toymoban.com/news/detail-720231.html

onLoad(){
    // #ifdef MP
    this.$nextTick(() => {
         this.$refs.form.setRules(this.rules);
     });
    // #endif
}

到了这里,关于uniapp微信小程序自定义表单校验失效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uniapp表单uni-forms校验自定义校验规则,手机校验、身份证校验

    validateFunction 自定义校验规则 如果需要使用 validateFunction 自定义校验规则,则 不能采用 uni-forms 的 rules 属性来配置校验规则,这时候需要通过ref,在 onReady 生命周期调用组件的setRules方法绑定验证规则 无法通过props传递变量,是因为微信小程序会过滤掉对象中的方法,导致自定

    2024年02月11日
    浏览(91)
  • Uniapp微信小程序实现简易生成表单生成器

    在开发一些填报小程序,一些小型办公小程序的时候,难免会遇到 较多的需要填写的表单信息 ,纯手撸表单耗时耗力。 下面将分为三个部分 一、创建对应类型表单的结构体 下面是新建商机的表单结构体 字段详情看注释 二、对应的表单生成器模板 formProps就是上面的表单结

    2024年02月09日
    浏览(40)
  • 微信小程序之自定义表单组件(radio)

    背景: 最近在做项目的时候遇到一个问题,那就是微信的官方表单组件的可扩展性不强,无法达到设计稿所要求的效果,所以想到了用自定义组件的方法自定义一个表单组件。 (自定义组件其实往往用在需要复用的地方,比如每个页面都有一样的头部和底部,那么我们就可

    2024年02月09日
    浏览(44)
  • uniapp uview微信小程序重置表单resetFields不生效

    1. 问题描述 uniapp + uview点击重置按钮,重置不生效 2. 解决 不生效原因未知,但我们可以模拟重置。 先将表单中的绑定的数据置空,然后把校验结果置空就可以了

    2024年02月16日
    浏览(44)
  • uniapp/微信小程序 scroll-view 设置scroll-x 失效问题解决

    实现一个横向滑动的scrollview,直接给scroll-view设置 scroll-x ,但是并没有实现想药实现横向滑动的效果,先看代码 仔细看了官网后发现有这样一句话, 然而加上也并没有实现,直接说解决方案吧! 使用横向滚动时,不仅仅需要给 scroll-view 添加 white-space: nowrap; 样式,还要给他

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

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

    2024年02月12日
    浏览(52)
  • uni-app 微信小程序自定义导航栏

    上面的导航栏主要由状态栏(就是手机电量显示栏)和小程序的导航栏组成,android手机一般为48px,ios手机一般为44px 1、设置navigationStyle:custom 2、页面导航栏div 3、获取statusBarHeight高度 4、获取navTitleHeight的高度

    2024年02月14日
    浏览(58)
  • uni-app自定义微信小程序头部导航栏

    目录 一、子组件代码 1、完整子组件代码  2、子组件配置项Props  二、父组件引用代码  1 、将头部导航注册成全局组件(main.js) 2、获取设备信息(App.vue) 3、页面导入自定义导航组件 (3-1)、默认配置效果图例 (3-2)、更改配置效果图例  1、完整子组件代码  2、子组件

    2024年02月03日
    浏览(57)
  • 关于uview小程序表单校验不生效问题,以及小程序自定义校验

    Form 表单 | uView - 多平台快速开发的UI框架 - uni-app UI框架 官网例子 编写完了之后发现正则这块不生效 是因为不兼容,如果需要兼容小程序 需要加上 即可解决 如果校验还没生效请检查标签是否填入必要的属性

    2024年02月06日
    浏览(46)
  • uni-app微信小程序,APP都适用自定义顶部导航

    *使用自定义的导航样式,首先需要把原生的顶部的导航方式给隐藏掉(\\\"navigationStyle\\\": \\\"custom\\\") *手机顶部手机状态栏的高度 *微信小程序中胶囊的位置信息存储(使用store存储) *由于微信小程序中带有导航胶囊,所以需要根据胶囊去获取一定的参数信息 在微信小程序中,我们只需要获

    2024年02月06日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包