alafafa
alafafa
  • 发布:2024-04-02 21:40
  • 更新:2024-04-07 14:33
  • 阅读:69

【报Bug】HBuilderX schema2code 时 如果 errorMessage 同时存在 minLength 和 maxLength 时只会生成 minLength 的错误提示

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

复现步骤

预期结果:
{  
        "minLength": 2,  
        "errorMessage": "至少填写2个电话号码"  
},  
{  
        "maxLength": 3,  
        "errorMessage": "最多填写3个电话号码"  
},

实际结果:
{  
        "minLength": 2,  
        "maxLength": 3,  
        "errorMessage": "至少填写2个电话号码"  
 },

bug描述:

同时填写了 minLength 和 maxLength 的错误提示时,生成的校验代码里只有 minLength 的错误提示,例如:

"mobiles": {  
            "bsonType": "array",  
            "title": "联系电话",  
            "minLength": 2,  
            "maxLength": 3,  
            "pattern": "^\\+?[0-9-]{3,20}$",  
            "errorMessage": {  
                "required": "联系电话必填",  
                "pattern": "电话号码格式有误",  
                "minLength": "至少填写2个电话号码",  
                "maxLength": "最多填写3个电话号码"  
              },  
            "componentForEdit": {  
                "name": "uni-dynamic-input"  
            }  
        },

生成的校验代码是:

"mobiles": {  
    "rules": [  
      {  
        "required": true,  
        "errorMessage": "联系电话必填"  
      },  
      {  
        "format": "array"  
      },  
      {  
        "minLength": 2,  
        "maxLength": 3,  
        "errorMessage": "至少填写2个电话号码"  
      },  
      {  
        "pattern": "^\\+?[0-9-]{3,20}$",  
        "errorMessage": "电话号码格式有误"  
      }  
    ],  
    "title": "联系电话",  
    "label": "联系电话"  
  },

minLength 和 maxLength 被合并了,只显示 minLength 的错误提示,如果只填写 maxLength 的错误提示,生成的校验代码是:

{  
        "minLength": 2,  
        "maxLength": 3,  
        "errorMessage": "最多填写3个电话号码"  
      },

两种提示依然被合并了,只不过只填写 maxLength 时 minLength 和 maxLength 的错误提示都是 maxLength 的,不知道是官方刻意的把这两种校验合并到一起的,还是bug,难道官方是希望合并在一起后,只报一个错误提示:请填写2~3个电话号码?这和官网文档里的示例不一致,另外各个 errorMessage 里面的 {title} 都不能正常解析,而 {minLength} 却能正常解析,目前在4.07和4.08测的都是这样。

2024-04-02 21:40 负责人:无 分享
已邀请:
DCloud_uniAD_HDX

DCloud_uniAD_HDX

目前是这样的,minLength或maxLength会合并,后续优化
你可以修改下提示语,电话号码应介于2和3之间

要回复问题请先登录注册