如何在Laravel中访问验证错误属性名称?

问题描述 投票:0回答:1

我来自Laravel,我尝试对其进行验证并查看每个输入的错误,我已经遍历了$error->all(),但是我需要显示其下每个输入的错误,并且我使用此代码$errors->has('password')来显示输入有错误,但我也需要显示消息。我得到print_r($errors),它返回此:

Illuminate\Support\ViewErrorBag Object
(
    [bags:protected] => Array
        (
            [default] => Illuminate\Support\MessageBag Object
                (
                    [messages:protected] => Array
                        (
                            [firstName] => Array
                                (
                                    [0] => The first name field is required.
                                )

                            [lastName] => Array
                                (
                                    [0] => The last name field is required.
                                )

                            [email] => Array
                                (
                                    [0] => The email must be a valid email address.
                                    [1] => The email field is required.
                                )

                            [password] => Array
                                (
                                    [0] => The password field is required.
                                )

                            [password_confirmation] => Array
                                (
                                    [0] => The password confirmation field is required.
                                )

                        )

                    [format:protected] => :message
                )

        )

)

我的问题是我无法访问这些消息?

php laravel laravel-5 laravel-5.8 php-7.2
1个回答
1
投票

根据Laravel文档,您可以使用@error指令来实现相同的目的

$errors变量由Illuminate\View\Middleware\ShareErrorsFromSession middleware,即由网络middleware组提供。应用此中间件时$ errors变量在您的视图中将始终可用,从而允许您可以方便地假定始终定义了$ errors变量,并且可以安全使用。

例如

<label for="title">Post Title</label>

<input id="title" type="text" class="@error('title') is-invalid @enderror">

@error('title')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror

Laravel -> Validation -> Displaying The Validation Errors

© www.soinside.com 2019 - 2024. All rights reserved.