Maison >développement back-end >tutoriel php >Pourquoi mes erreurs de validation Laravel 5.2 ne s'affichent-elles pas dans ma vue Blade ?
Problème :
Les erreurs de validation n'apparaissent pas dans la vue de la lame lorsque un utilisateur saisit une entrée invalide lors d'un formulaire soumission.
Contrôleur :
public function saveUser(Request $request) { $this->validate($request, [ 'name' => 'required|max:120', 'email' => 'required|email|unique:users', 'phone' => 'required|min:11|numeric', 'course_id' => 'required' ]); $user = new User(); $user->name = $request->input(['name']); $user->email = $request->input(['email']); $user->phone = $request->input(['phone']); $user->date = date('Y-m-d'); $user->completed_status = '0'; $user->course_id = $request->input(['course_id']); $user->save(); return redirect('success'); }
Blade View :
@if(count($errors) > 0) <div>
Solution :
Dans Laravel 5.2.27 ou supérieur, le middleware Web est désormais automatiquement appliqué à toutes les routes dans routes.php. L'ajouter manuellement peut entraîner des problèmes.
Pour résoudre ce problème, supprimez le middleware Web du groupe de routage dans RouteServiceProvider.php :
protected function mapWebRoutes(Router $router) { $router->group([ 'namespace' => $this->namespace, // Remove the 'web' middleware ], function ($router) { require app_path('Http/routes.php'); }); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!