【问题标题】:Validator is not working on Resource routes in AdonisJS验证器不适用于 AdonisJS 中的资源路由
【发布时间】:2020-02-05 02:20:43
【问题描述】:

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

【问题讨论】:

    标签: validation adonis.js


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-07-03
      • 2020-04-20
      • 1970-01-01
      • 2014-02-04
      • 2021-02-15
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多