【问题标题】:validation error message not showing laravel 5.4验证错误消息未显示 laravel 5.4
【发布时间】:2018-11-05 10:56:13
【问题描述】:

messages.blade.php

@if(count($errors) > 0)
@foreach($errors->all() as $error)
    <div class="alert alert-danger">
        {{$error}}
    </div>
@endforeach
@endif

main.blade.php

<body class="nav-md">
<div class="container body">
    @include('messages')
  <div class="main_container">

添加信息控制器

public function store(Request $request)
{
  $this->validate($request,[
    'fileno' => 'required|unique:AddInfoModel|max:255',
  ]);

输入名称 = 文件号 我试图离开为空的 fileno 字段 点击提交后没有错误显示

如果通过ajax函数发布日期,可能是为什么没有显示错误或任何其他错误。如果是这种情况,如何解决?

【问题讨论】:

  • 你的表单和错误信息页面不一样吗?
  • 是的,我包括@whoami
  • 不要分开表单和错误,两者是相互依赖的
  • 您在 main.blade.php 中部分包含了 messages.blade.php。因此,您还必须将 $errors 传递给消息视图。 @include('消息',$errors)

标签: php ajax laravel validation


【解决方案1】:

//控制器代码

$validator = $this->validate($request->all(), [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
]);

if ($validator->fails()) {
    return back()->withErrors($validator->errors())
        ->withInput($request->all());
}

//查看代码

@if($errors->has())
    @foreach ($errors->all() as $error)
        <div>{{ $error }}</div>
    @endforeach
@endif

【讨论】:

    【解决方案2】:

    在控制器中进行验证并返回错误消息以查看

    $validator = Validator::make($request->all(), [
                 'first_name' => 'required|max:255',
                 'last_name' => 'required|max:255',
                 'email' => 'required|email|max:255'
            ]);
    
            if ($validator->fails()) {
                return back()->withErrors($validator->errors())
                             ->withInput($request->all());
            }
    

    【讨论】:

    • 不要忘记使用“使用 Illuminate\Support\Facades\Validator;”在控制器中
    猜你喜欢
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2022-06-20
    • 2020-04-28
    • 2021-12-19
    • 2018-06-15
    相关资源
    最近更新 更多