验证器不适用于 AdonisJS 中的资源路由

Validator is not working on Resource routes in AdonisJS

我在 Route.resource() 上遇到验证器问题。未应用验证器,当我 运行 命令“adonis route:list”时,未列出 av:TrainingPlan 和 Workout 验证器。您可以看到我的其他验证器正在处理单个端点动词,例如 /users、/sessions/ 和 /passwords 上的“Route.post”。在启动文件夹下的 app.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

我错过了什么?

adonis route:list command result

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

我没有测试将 / 放在 workouts.storetraining-plans.store 之前放在 Map 验证器中。