You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使JSON Schema对全空格字符串抛出自定义验证错误?

JSON Schema 处理仅含空格的name字段验证问题

现有一个name字段要求为非空字符串,当前使用的JSON Schema配置如下:

"properties":{
        "name": {
          "type": "string",
          "minLength": 1
        }
}

但用JsonSchema.validate验证时,像" "这种仅含空格的字符串会通过验证,需要针对这个场景抛出自定义错误。


解决方法

要拦截纯空格的字符串,只需给name的Schema规则加上正则匹配,同时配置自定义错误信息(取决于你用的验证库是否支持,比如AJV就支持errorMessage):

修改后的完整Schema示例:

"properties":{
        "name": {
          "type": "string",
          "minLength": 1,
          "pattern": "\\S+",
          "errorMessage": {
            "pattern": "name不能仅包含空格",
            "minLength": "name不能为空字符串"
          }
        }
}
  • \\S+正则会匹配至少一个非空白字符,纯空格的字符串会因为不满足这个规则被拦截
  • 如果你的验证库不支持errorMessage关键字,可以在验证失败后,判断错误类型(比如是pattern不匹配的错误),手动抛出对应的自定义错误提示。

内容的提问来源于stack exchange,提问作者NIshank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:49:55