首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能用middy来验证某物的长度吗?

我能用middy来验证某物的长度吗?
EN

Stack Overflow用户
提问于 2022-11-19 12:05:49
回答 1查看 22关注 0票数 0
代码语言:javascript
复制
const baseHandler: APIGatewayProxyHandlerV2 = async (event) => {
  return service.create(event.body);
}

const inputSchema = {
  type: "object",
  properties: {
    body: {
      type: "object",
      properties: {
        year: { type: "number" },
        questionId: { type: "string" },
        propSeq: { type: "number" },
        questionTitle: { type: "string" }, 
        propContent: { type: "string" },
        isTrue: { type: "boolean" },
        chapter: { type: "number" }
      },
      required: ["year", "questionId", "propSeq", "questionTitle", "propContent", "isTrue", "chapter"],
    },
  },
};

export const handler = middy(baseHandler)
  .use(jsonBodyParser())
  .use(validator({inputSchema}))
  .use(httpErrorHandler())

我正在无服务器框架上编写AWS代码。我想要像express-validator这样的请求体验证器,所以我找到了middy。但似乎不可能验证某物的长度。我想将year的长度强制为4,例如,2023(o),23(x)

代码语言:javascript
复制
properties: {
  year: { type: "number", length: 4 }
}

正如您猜测的那样,无法理解length属性。我不想在baseHandler函数中添加一些代码来验证长度。提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-19 19:26:05

Middy使用JSONSchema,所以您可以使用与JSONSchema兼容的任何东西。您可以使用length,但是需要将类型从number切换到string,因为number不支持length (在我看来,这是正确的)。如果您想将其保留为number,那么最好使用基于范围的验证:https://json-schema.org/understanding-json-schema/reference/numeric.html#range

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74499839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档