Laravel 5.2验证错误未出现在刀片中

Laravel 5.2验证错误未出现在刀片中

我想在用户提供错误输入时在View页面中显示验证错误。当用户提供错误的输入时,它不会在数据库中保存任何内容。但是在用户视图页面中没有错误消息。如果有人发现错误,请帮帮我。

这是控制器:

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');         
    }

这是路线:

Route::group(['middleware' => 'web'], function () {

    Route::get('/', function () {
        return view('index');
    })->name('main');

      Route::post('/saveUser',[
        'uses' => 'AppController@saveUser',
        'as'=>'saveUser',
        ]);
    });

这是刀片视图页面:

@extends('layouts.master')@section('title')Create User@endsection@section('content')@include('partials.message-block')
        <div class="container" >

            <h3> Student Register </h3>

        {!! Form::open(array('route' => 'saveUser','class'=>'form-horizontal','method'=>'POST'))  !!}
      {!! Form::token(); !!}
      {!!   csrf_field() ; !!} 

        <div class="form-group">
          <label>Name</label>
          <input type="text" name="name" class="form-control" required placeholder="Name">
        </div>



ABOUTYOU
浏览 347回答 3
3回答

慕的地8271018

web如果您使用的是5.2.27或更高版本,请尝试删除中间件。事情是现在Laravel自动将web中间件应用于内部的所有路由routes.php,如果您尝试手动添加它,您可能会收到错误。app/Providers/RouteServiceProvider.php5.2.27版本现在将web中间件添加到内部的所有路由routes.php:protected&nbsp;function&nbsp;mapWebRoutes(Router&nbsp;$router){ &nbsp;&nbsp;&nbsp;&nbsp;$router->group([ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'namespace'&nbsp;=>&nbsp;$this->namespace,&nbsp;'middleware'&nbsp;=>&nbsp;'web', &nbsp;&nbsp;&nbsp;&nbsp;],&nbsp;function&nbsp;($router)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;app_path('Http/routes.php'); &nbsp;&nbsp;&nbsp;&nbsp;});}

手掌心

在控制器中使用以下行使用Validator;在发送请求的控制器功能中添加以下代码。$validator&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;Validator::make($request->all(),&nbsp;[ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'fname'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;&nbsp;'required|max:20|min:4', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'uemail'&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;&nbsp;'required|email', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'message'&nbsp;&nbsp;&nbsp;=>&nbsp;&nbsp;'required', &nbsp;]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($validator->fails())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$messages&nbsp;=&nbsp;$validator->messages(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Redirect::back()->withErrors($messages)->withInput($request->all());&nbsp; &nbsp;}在您的视图页面中&nbsp;@if&nbsp;($errors->any()) &nbsp;&nbsp;&nbsp;<label&nbsp;for="fname"&nbsp;class="error">{{&nbsp;$errors->first('fname')&nbsp;}}</label>&nbsp; &nbsp;@endif用于显示单个字段明智的错误。

泛舟湖上清波郎朗

Alexey是正确的,如果您对此不满意,那么您只需将此代码添加到视图中即可显示会话消息。@if(Session::has('message')) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;class="alert&nbsp;alert-success">{{Session::get('message')}}</div> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@endif &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@if(count($errors)>0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<ul> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@foreach($errors->all()&nbsp;as&nbsp;$error) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li&nbsp;class="alert&nbsp;alert-danger">{{$error}}</li> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@endforeach &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</ul> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@endif我在laravel 5.5中做到了这一点。请确认这是否有助于您解决问题。
打开App,查看更多内容
随时随地看视频慕课网APP