J'ai des problèmes avec le validateur sur Route.resource(). Le validateur n'a pas été appliqué et lorsque j'exécute la commande "adonis route:list", les validateurs av:TrainingPlan et Workout ne sont pas répertoriés. Vous pouvez voir que mes autres validateurs travaillent sur un seul verbe de point de terminaison comme "Route.post" sur /users, /sessions/ et /passwords. Sur app.js sous le dossier de démarrage, j'ai vérifié que le registre avait également été créé et que tous les validateurs étaient générés par adonis cli.
Mon fichier de routes a été réalisé sur la base de la documentation :
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'])
Validateur de plan de formation :
'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
Qu'est-ce que je rate ?
Le problème a été résolu en supprimant "/" avant l'itinéraire "/workouts" et "/training-plans".
Je n'ai pas testé de mettre '/' avant 'workouts.store' et 'training-plans.store' dans le validateur de carte.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots