如何在Laravel 4中扩展Validation类时指定默认错误消息

Abi*_*hek 4 validation laravel laravel-4

我使用该extend函数在Laravel 4的验证类上扩展和添加自定义规则.

Validator::extend('foo', function($attribute, $value, $parameters)
{
    return $value == 'foo';
});
Run Code Online (Sandbox Code Playgroud)

当我使用新创建的自定义扩展验证规则时,validation.foo如果规则失败则返回.在扩展Laravel 4中的验证类时,有没有办法定义泛型/默认消息?

Lau*_*nce 9

Laravel 4文档明确指出您需要为自定义规则定义错误消息.

你有两个选择;

选项1:

$messages = array(
    'foo' => 'The :attribute field is foo.',
);

$validator = Validator::make($input, $rules, $messages);
Run Code Online (Sandbox Code Playgroud)

选项2:

在语言文件中指定自定义消息,而不是直接将它们传递给Validator.为此,请将您的消息添加到app/lang/xx/validation.php语言文件中的自定义数组:

'custom' => array(
    'foo' => array(
        'required' => 'We need to know your foo!',
    ),
),
Run Code Online (Sandbox Code Playgroud)