当前位置: 首页 > 面试题库 >

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

唐海阳
2023-03-14
问题内容

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

这是控制器:

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>

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

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

        <div class="form-group">
            <label for="">Class</label>
            <select class="form-control input-sm" name="course_id" >
            @foreach($input as $row)
            <option value="{{$row->id}}">{{$row->name}}</option>
            @endforeach
            </select>
        </div>

        <button type="submit" class="btn btn-default">Submit</button>
    {!! Form::close() !!}
        </div>

@endsection

这是错误消息块:

@if(count($errors) > 0)
    <div class="row">
        <div class="col-md-4 col-md-offset-4 error">
            <ul>
                @foreach($errors->all() as $error)
                    <li>{{$error}}</li>
                @endforeach
            </ul>
        </div>
    </div>
@endif
@if(Session::has('message'))
<div class="row">
    <div class="col-md-4 col-md--offset-4 success">
        {{Session::get('message')}}
    </div>
</div>

@endif

问题答案:

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

app/Providers/RouteServiceProvider.php的5.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');
    });
}


 类似资料:
  • 我正在使用AWS Cognito,通过MobileHub与iOS应用程序集成,通过Facebook登录。一切正常,直到我注销现有身份并尝试使用另一个FB帐户登录(或甚至使用相同的帐户)。 在这种情况下,每次我调用任何AWS Lambda时,都会出现此错误: AWSiOSSDK v2.4.9[错误]AWSCredentialsProvider.m行:577。 [AWSCOgnitoredential

  • 我正试图在custom ConstraintValidator中使用@Autowired annotation。 我已经阅读了一些解决方案,但没有一个有效,所以我试图使用Spring的org.springframework.web.bind.support.SpringWebConstraintValidatorFactory强制Hibernate,以创建自动构建的ConstraintValida

  • 我没有编写C++代码,因为我的首要任务是创建有效的xml和XSD。 xml: XSD: 为了验证,我转到:https://www.freeformatter.com/xml-validator-xsd.html 错误:s4s-att-invalid-value:元素“Element”中“type”的属性值无效。记录原因:cvc-datatype-valid.1.2.1:“xs:”不是“QName”

  • 我一直在问这个问题,谁能举例说明Laravel5.2多重身份验证 使用管理和用户表实现多表身份验证。我已经完成了上面提到的所有步骤,如添加管理员作为提供者,在配置/auth.php中保护,为管理员创建身份验证控制器,为管理员创建中间件。但是在我运行我的项目后,它说身份验证用户提供者[]没有定义。但是我在配置/auth.php中定义了管理员和用户的提供者。我使用了不同的登录和注册表单,用户和管理员的

  • 问题内容: 非常奇怪的错误。我使用的是http://developers.facebook.com/docs/authentication/。所以我创建了对fb的请求并传递redirect_uri。我在本地主机上使用测试站点。所以如果我通过 redirect_uri = http://localhost/test_blog/index.php 它工作正常,但如果我通过 redirect_uri =

  • 我在一个组件中有以下内容: 脚本: 因此,我将表单数据提交到我的数据库,然后在成功promise中,我使用它。$refs.form.reset();重新设置我的表单。 但是,我会立即收到错误消息,并且在每次提交后都会收到错误消息: "[Vue警告]:错误在下一个滴答:"TypeError:无法读取属性'长度'的未定义" 和 TypeError:无法读取未定义的属性“length”