为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
ABOUTYOU 2019-07-25 10:28:18
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>
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

web如果您使用的是5.2.27或更高版本,请尝试删除中间件。事情是现在Laravel自动将web中间件应用于内部的所有路由routes.php,如果您尝试手动添加它,您可能会收到错误。

app/Providers/RouteServiceProvider.php5.2.27版本现在将web中间件添加到内部的所有路由routes.php

protected function mapWebRoutes(Router $router){
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });}


查看完整回答
反对 回复 2019-07-25
?
手掌心

TA贡献1942条经验 获得超3个赞

在控制器中使用以下行

使用Validator;

在发送请求的控制器功能中添加以下代码。

$validator  =   Validator::make($request->all(), [
     'fname'     =>  'required|max:20|min:4',
     'uemail'    =>  'required|email',
     'message'   =>  'required',
 ]);                                                                                                                                                                                                                               if ($validator->fails()) {
       $messages = $validator->messages();
       return Redirect::back()->withErrors($messages)->withInput($request->all()); 
 }

在您的视图页面中

 @if ($errors->any())
   <label for="fname" class="error">{{ $errors->first('fname') }}</label> 
 @endif

用于显示单个字段明智的错误。


查看完整回答
反对 回复 2019-07-25
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

Alexey是正确的,如果您对此不满意,那么您只需将此代码添加到视图中即可显示会话消息。

@if(Session::has('message'))
            <div class="alert alert-success">{{Session::get('message')}}</div>
        @endif
        @if(count($errors)>0)

            <ul>
                @foreach($errors->all() as $error)
                <li class="alert alert-danger">{{$error}}</li>
                @endforeach
            </ul>
        @endif

我在laravel 5.5中做到了这一点。请确认这是否有助于您解决问题。


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 346 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信