复现步骤
- 发布:2024-04-02 21:40
- 更新:2024-04-07 14:33
- 阅读:192
【报Bug】HBuilderX schema2code 时 如果 errorMessage 同时存在 minLength 和 maxLength 时只会生成 minLength 的错误提示
产品分类: uniCloud/App
操作步骤:
预期结果:
{
"minLength": 2,
"errorMessage": "至少填写2个电话号码"
},
{
"maxLength": 3,
"errorMessage": "最多填写3个电话号码"
},
{
"minLength": 2,
"errorMessage": "至少填写2个电话号码"
},
{
"maxLength": 3,
"errorMessage": "最多填写3个电话号码"
},
实际结果:
{
"minLength": 2,
"maxLength": 3,
"errorMessage": "至少填写2个电话号码"
},
{
"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测的都是这样。
1 个回复
DCloud_uni-ad_HDX
目前是这样的,minLength或maxLength会合并,后续优化
你可以修改下提示语,电话号码应介于2和3之间