【问题标题】:Laravel 5 - How to add custom msgs to Validation?Laravel 5 - 如何将自定义消息添加到验证?
【发布时间】:2017-01-08 21:03:36
【问题描述】:

我试图弄清楚如何在 Laravel 5 中快速添加每个字段的错误消息。这是我得到的:

$validator = Validator::make($this->req->all(), [
'email_add' => 'required|email|max:100',
'pass' => 'required|max:20',
]);

那么我如何为上面验证的每个字段直接放一条消息?比如“您忘记了电子邮件地址”和“需要密码”?

(如何在不为 1 个简单任务编写火星探测器程序的情况下做到这一点。就像通常的 laravel 5 工匠的东西使新的东西无用,添加 2 个命名空间、3 个中间件、5 个类、7 个函数,然后最终覆盖错误消息!!)


[编辑] 在下面的答案和堆栈上的其他搜索的一些帮助之后,我确切地找到了要做什么:

  1. 为每个字段的验证 type 添加一条消息: $validator = Validator::make($this->req->all(), [ 'email_add' => 'required|email|max:100', 'pass' => 'required|max:20', ], [ 'email_add.required' => 'The Email Address is actually required dude!', 'email_add.email' => 'The Email Address is is not a valid Email Address!' ]); . .

  2. 只需将email_add 更改为Email Address,即Attribute Name,而不是为每个字段上应用的每个验证编写自定义消息: Validator::make(....)->setAttributeNames( [ 'email_add'=>'Email Address', 'pass'=>'Password' ]);


谢谢你的帮助。

【问题讨论】:

  • 请确保您在谷歌或堆栈上找不到答案。这是在你问之前已经问过的问题。但这不是您想要的代码。您需要对代码进行一些操作。所以下次要小心。

标签: php laravel-5


【解决方案1】:

如果您想更改特定请求的验证消息,您可以像这样将消息方法放在同一个请求文件中

public function messages() {
   'name.required' => 'custom message',
   'email.required' => 'custom message for email',
   'email.email'   => 'custom message form email format'

}

或者,如果您想将验证消息放入控制器中,只需将第三个参数作为消息传递。

【讨论】:

    【解决方案2】:

    试试它对你的工作

    $validator = Validator::make($this->req->all(), [
    'email_add' => 'required|email|max:100',
    'pass' => 'required|max:20',
    ]);
    
    $messages = [
        'email_add.required'        => 'You forgot Email Address',
        'pass.required'   => 'Password is Required',
    
    ];
    

    【讨论】:

    • 谢谢,这真的很有帮助。所以应该有一种直接的方法来更改字段/属性名称。说 email_add 到“电子邮件地址”。改个标题就行了
    • 那么伙计,我如何只更改字段的标题而不是整条消息?
    • 对不起,我听不懂……你想要什么??
    • 我说,有没有办法只更改消息中的字段名称,而不是整个消息?
    • 好的,我知道了,答案在这里:stackoverflow.com/questions/25187846/…谢谢你的帮助
    【解决方案3】:

    为此,请将您的消息添加到 resources/lang/xx/validation.php 语言文件中的自定义数组中。

    'custom' => [
        'email' => [
            'required' => 'We need to know your e-mail address!',
        ],
    ],
    

    https://laravel.com/docs/5.1/validation#custom-error-messages

    【讨论】:

    • 明白我的意思吗?!!总是在别的地方做点什么!! Leravel5 = 写每一行代码都是一个新文件!!
    猜你喜欢
    • 2017-05-30
    • 2019-02-11
    • 2014-05-31
    • 2017-06-28
    • 2017-12-13
    • 2015-09-07
    • 1970-01-01
    • 2020-07-18
    • 2013-09-03
    相关资源
    最近更新 更多