【发布时间】: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
我错过了什么?
【问题讨论】:
标签: validation adonis.js