1***@163.com
1***@163.com
  • 发布:2024-06-21 17:31
  • 更新:2024-09-03 11:52
  • 阅读:302

【报Bug】uniapp的uni-forms多级嵌套对象数据校验不生效

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10

HBuilderX类型: 正式

HBuilderX版本号: 4.15

第三方开发者工具版本号: 1.06.2405020

基础库版本号: 3.4.6

项目创建方式: HBuilderX

示例代码:
<uni-forms ref="formDataRef" :model="formData" :rules="rules" label-width="80px">  
  <uni-forms-item label="企业名称" :name="['enterpriseInfo', 'enterpriseName']" required>  
    <uni-easyinput v-model="formData.enterpriseInfo.enterpriseName" placeholder="请输入企业名称" />  
 </uni-forms-item>  
</uni-forms>  

import {ref} from "vue";  
const formDataRef = ref(null);  

const formData = ref({  
  enterpriseInfo: {  
     enterpriseName: "", // 企业名称  
    }  
  })  

const rules = ref({  
     enterpriseName: {  
    rules: [{  
        required: true,  
        errorMessage: "清填写企业名称",  
        }, ],  
    },  
})  

// 确定按钮的点击事件  
    function sumbit() {  
        formDataRef.value.validate((valid, data) => {  
            console.log("表单数据", formData);  
            console.log(valid, data);  
        });  
        // emit('changeActiveIndex',2)  
    }

操作步骤:

就按照代码示例中写法,多级嵌套的属性校验,form-item里面的name绑定数组的形式。
然后rules中定义校验规则。

点击提交按钮

预期结果:

应该出发校验,不让通过才正确。

实际结果:

校验规则不生效。 无论是表单中有没有值,校验规则都不生效。

bug描述:

使用uni-forms扩展组件进行表单校验。 多级嵌套对象数据校验不生效。已经根据官网的文档的使用方式写了。

2024-06-21 17:31 负责人:DCloud_UNI_HT 分享
已邀请:
DCloud_UNI_HT

DCloud_UNI_HT

需要给uni-forms-item 设置单独设置校验规则 rules ,看了下你的代码 ,你写的动态校验 ,无法匹配到有效的校验规则

要回复问题请先登录注册