y***@163.com
y***@163.com
  • 发布:2024-02-08 11:34
  • 更新:2024-02-19 15:16
  • 阅读:285

【报Bug】uni-forms 调用 validate 方法后导致页面崩溃的问题

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 版本 Windows 11 家庭中文版 版本 23H2 安装日期 ‎2024/‎1/‎22 操作系统版本 22631.3007 序列号 M70RF69W 体验 Windows Feature Experience Pack 1000.22681.1000.0

浏览器平台: Chrome

浏览器版本: 版本 121.0.6167.160(正式版本) (64 位)

项目创建方式: CLI

CLI版本号: ^2.0.2-3090920231225001

操作步骤:

uni-forms 调用 validate 方法后导致页面崩溃的问题,问题浮现请下载附件进行运行。其中重复密码和新的密码填写不一致触发自定义表单验证方法后,页面出现崩溃信息弹框。

预期结果:

触发自定义表单验证后的验证失败不会引起页面的崩溃操作

实际结果:

重复密码和新的密码填写不一致触发自定义表单验证方法后,页面出现崩溃信息弹框。

bug描述:

uni-forms 调用 validate 方法后导致页面崩溃的问题,问题浮现请下载附件进行运行。其中重复密码和新的密码填写不一致触发自定义表单验证方法后,页面出现崩溃信息弹框。

2024-02-08 11:34 负责人:HRK_01 分享
已邀请:
y***@163.com

y***@163.com (作者)

很抱歉过年期间打扰大家

HRK_01

HRK_01

demo示例里面存在重复验证,将nPassword里面的校验去掉即可

nPassword: {  
          rules: [  
            { required: true, errorMessage: "新密码不能为空" },  
            {  
              pattern:  
                '^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*)(?=.*[`~!@$%^&*()_\\-+=<>.?:"{}].*).{8,20}$',  
              errorMessage: "密码格式不正确",  
            },  
            {  
              validateFunction: (rule, value, data, callback) => {  
                if (  
                  !/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*)(?=.*[`~!@$%^&*()_\-+=<>.?:"{}].*).{8,20}$/.test(  
                    value  
                  )  
                ) {  
                  return callback("密码格式不正确");  
                }  
                //将下面这个重复验证注释掉或删除  
                // if (this.formData.rPassword) {  
                //   this.$refs.form.validateField("rPassword");  
                // }  
                return callback();  
              },  
            },  
          ],  
        },

要回复问题请先登录注册