Laravel 4.2语言文件中的自定义验证消息

时间:2014-08-15 10:00:33

标签: validation laravel messages

我的控制器中有这样的代码:

    $validator = Validator::make(
        Input::only('first_name', 'last_name'),
        array(
            'first_name' => 'required|min:1|max:20',
            'last_name'  => 'required|min:1|max:20',
        )
    );

    if ($validator->fails())
    {
        Input::flashOnly('first_name', 'last_name');

        return Redirect::route('admin.partner.create')
            ->withInput()
            ->withErrors($validator, 'partner');
    }

语言设置正确。

在我的语言文件中,我有规则:

'partner' => array(
    'first_name' => array(
        'required' => 'My message here',
    ),
),

我尝试输出这样的信息:

{{ $errors->partner->first('first_name') }}

但不是我的自定义消息,它仍然从语言文件

输出主要消息
...
"required"             => "The :attribute field is required.",
...

也许,我错了,但是如果我通过->withErrors($validator, 'partner')(将partner设置为我的自定义错误数组),我应该使用$errors->partner->first('first_name')从我的自定义数组接收第一条消息,但不是来自一般错误数组?

1 个答案:

答案 0 :(得分:0)

在文档中,您需要在数组中使用'custom'键,因为Laravel将首先尝试查找自定义键:

'custom' => array(
    'partner' => array(
        'first_name' => array(
            'required' => 'My message here',
        ),
    ),
),