Laravel 5.4 - 没有表单验证的错误消息

时间:2017-10-26 06:02:47

标签: php laravel

想知道我是否可以使用Laravel 5.4上的验证错误消息以及不包含表单验证的自定义错误消息。

我正在对查看用户个人资料进行验证,以确保只有ID的所有者才能使用Gate查看用户个人资料。

我是否需要创建Validator的实例,并在here上执行类似操作。

以下是我的代码示例

UserController.php

public function show(User $user)
{
    if (\Gate::denies('showUser', $user)) {
        return redirect()->back()
        ->with('status', 'Invalid Access to other User Profile');
        // how to use instead ->withErrors($message); ?
    }

    return view('profiles.update', compact('user'));
}

messages.blade.php

@if(count($errors) > 0)
    <div class="alert alert-danger" role="alert">

        <ol>

        @foreach($errors->all() as $error)  

                <li>{{ $error }}</li>           

        @endforeach

        </ol> 

    </div>
@endif

@if(session('success'))
    <div class='alert alert-success'>
        {!! session('success') !!}
    </div>
@endif

@if(session('status'))
    <div class='alert alert-danger'>
        {!! session('status') !!}
    </div>
@endif

1 个答案:

答案 0 :(得分:0)

希望这有帮助。

public function show(User $user, MessageBag $message_bag)
{
    if (\Gate::denies('showUser', $user)) {
        $message_bag->add('token', 'This is the error message');
        return redirect()->back()->withErrors($message_bag);
    }

    return view('profiles.update', compact('user'));
}