我想在它到达我的自定义验证器之前退出。
public classification = () => [
param("id").exists({ checkNull: true }).isMongoId().bail(),
param("id")
.custom(checkIfSessionExists)
.custom(checkIfSessionIsCompletedOrFailed)
.custom(checkIfSessionHasExpired)
.custom(checkIfSessionContainsFrontImage),
validationResultHandler,
]为什么我不能在这里应用.bail():param("id").exists({ checkNull: true }).isMongoId().bail(),
发布于 2020-06-17 03:20:46
根据express-validator文档:
.bail()对于防止自定义验证器在您知道它将失败时访问数据库或外部API而运行非常有用。如果需要,可以在同一验证链中多次使用。
在您的情况下,它将如下所示:
[
check('id')
.exists({ checkNull: true }).bail()
.isMongoId().bail()
.custom(checkIfSessionExists).bail()
.custom(checkIfSessionIsCompletedOrFailed).bail()
.custom(checkIfSessionHasExpired).bail()
.custom(checkIfSessionContainsFrontImage)
...
...
];因此,如果某些验证失败,则以下验证器将永远不会运行
https://stackoverflow.com/questions/60205785
复制相似问题