uni-app 使用schema2一键生成功能会导致前端报错 "maximum": 100,"minimum": 1

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 使用schema2一键生成功能会导致前端报错 “maximum”: 100,“minimum”: 1

操作步骤:

"maximum": 100,"minimum": 1 删除两个 任意就没报错

预期结果:

Error in onReady hook: TypeError: Cannot read properties of undefined (reading 'loadData') /pages/admin_userFission_config/list 17:35:18 百度谷歌 Error in render: TypeError: Cannot read properties of undefined (reading 'length') /pages/admin_userFission_config/list 17:35:18 百度谷歌 Error in data(): ReferenceError: numberRange is not defined /pages/admin_userFission_config/add 17:35:18 百度谷歌

实际结果:

Error in onReady hook: TypeError: Cannot read properties of undefined (reading 'loadData') /pages/admin_userFission_config/list 17:35:18 百度谷歌 Error in render: TypeError: Cannot read properties of undefined (reading 'length') /pages/admin_userFission_config/list 17:35:18 百度谷歌 Error in data(): ReferenceError: numberRange is not defined /pages/admin_userFission_config/add 17:35:18 百度谷歌

bug描述:

使用schema2一键生成会导致前端报错 “maximum”: 100,“minimum”: 1

JS.txt


3 回复

提供下生成后的vue页面代码


我也发现了这个问题,好像minimum和maximum就不能共存一样

在使用 uni-app 的 schema2code 一键生成功能时,如果遇到前端报错 "maximum": 100, "minimum": 1,这通常是因为在生成的表单校验规则中,某个字段的数值范围限制为 1100,而输入的值超出了这个范围。

解决方法:

  1. 检查生成的 schema 文件

    • 打开生成的 schema 文件,查找相关字段的 minimummaximum 配置。
    • 确保这些配置符合实际需求。
  2. 修改 schema 配置

    • 如果默认的 1100 范围不符合实际需求,可以手动修改 schema 文件中的 minimummaximum 值。
    • 例如,如果需要更大的范围,可以将 maximum 修改为更大的值,或者将 minimum 修改为更小的值。
  3. 前端表单校验处理

    • 如果不想修改 schema 文件,可以在前端表单提交时,手动处理校验逻辑,确保输入的值在 1100 之间。
    • 或者在前端代码中动态修改校验规则。
  4. 调试和日志

    • 使用浏览器开发者工具或 uni-app 的调试工具,查看具体的报错信息和堆栈,确认是哪个字段引发了错误。
    • 检查表单输入的值是否符合 schema 的校验规则。

示例:

假设 schema 文件中有一个字段 age,其配置如下:

{
  "age": {
    "type": "number",
    "minimum": 1,
    "maximum": 100
  }
}

如果前端输入的值超出了 1100 的范围,就会报错。你可以根据需要修改 schema

{
  "age": {
    "type": "number",
    "minimum": 0,
    "maximum": 120
  }
}

或者在前端代码中动态修改校验规则:

this.$refs.form.setRules({
  age: [
    { required: true, message: '年龄不能为空' },
    { type: 'number', min: 0, max: 120, message: '年龄必须在0到120之间' }
  ]
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!