有没有办法在laravel中扩展验证器时附加自定义验证消息?

时间:2017-09-21 08:00:40

标签: laravel validation laravel-5 laravel-validation

目前我已经实现了以下自定义验证,但如果验证失败,我不知道如何附加自定义消息。为了澄清,我需要在扩展验证器时定义错误消息

Validator::extend('phone_number', function($attribute, $value, $parameters)
    {
       // is there anyway I could define a error message here, if this validation fails,
        if (strlen($value) === 9)
        {
            if (substr($value, 0, 1) === '0')
            {
                return false;
            }
        }
        else
        {
            if (substr($value, 0, 1) != '0')
            {
                return false;
            }
        }

        return true;
    });

我目前已将此代码放在boot方法中,并且在文档中他们说有一种方法可以定义自定义消息,但我真的不明白。

public function boot()
{

Validator::extend(...);

Validator::replacer('foo', function ($message, $attribute, $rule, $parameters) {
    return str_replace(...);
});

}

2 个答案:

答案 0 :(得分:1)

您可以通过向extend方法添加第三个参数来指定您的消息,如下所示:

Validator::extend('phone_number', function($attribute, $value, $parameters) {

    if (strlen($value) === 9)
    {
        if (substr($value, 0, 1) === '0')
        {
            return false;
        }
    }
    else
    {
        if (substr($value, 0, 1) != '0')
        {
            return false;
        }
    }

    return true;
}, 'Your custom message goes here'); // <--- HERE

答案 1 :(得分:0)

您可以将自定义验证规则消息放在resources/lang/en/validation.php

另请查看此页面:https://laravel-news.com/laravel-5-5-custom-validator-rules

这是创建自定义验证规则的更好方法。