验证器在 AdonisJS 中的资源路由上不起作用



我在Route.resource((上的验证器出现问题。验证器未应用,当我运行命令"adonis route:list"时,av:TrainingPlan 和 Workout 验证器未列出。您可以看到我的其他验证器正在处理单个端点动词,例如/users、/sessions/和/password上的"Route.post"。在应用程序上.js在启动文件夹下,我检查了寄存器是否也已创建,并且所有验证器都是由 adonis cli 生成的。

我的路由文件是根据文档制作的:

Route.group(() => {
Route.post('files', 'FileController.store')
Route
.resource('/training-plans', 'TrainingPlanController')
.apiOnly()
.validator(new Map([
[['training-plans.store'], ['TrainingPlan']]
]))
Route
.resource('/workouts', 'WorkoutController')
.apiOnly()
.validator(new Map([
[['workouts.store'], ['Workout']]
]))
}).middleware(['auth'])

训练计划验证器:

'use strict'
class TrainingPlan {
get validateAll () {
return true
}
get rules () {
return {
title: 'required',
description: 'required',
start_date: `date|before:${new Date()}`,
end_date: `date|before:${new Date()}`
}
}
}
module.exports = TrainingPlan

我错过了什么?

阿多尼斯路由:列表命令结果

/workouts/training-plans路由之前删除/的问题已得到解决。

我没有测试在workouts.store之前放置/,并将training-plans.store放入地图验证器中。

最新更新