我在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
放入地图验证器中。