Validation Laravel 4.2语言文件中的自定义验证消息
我的控制器中有如下代码:Validation Laravel 4.2语言文件中的自定义验证消息,validation,laravel,messages,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 ($v
$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');
}
{{ $errors->partner->first('first_name') }}
语言设置正确
在我的语言文件中,我有以下规则:
'partner' => array(
'first_name' => array(
'required' => 'My message here',
),
),
我尝试以如下方式输出我的消息:
$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');
}
{{ $errors->partner->first('first_name') }}
但它仍然从语言文件中输出主消息,而不是我的自定义消息
...
"required" => "The :attribute field is required.",
...
也许我弄错了,但是如果我通过了withErrors($validator,'partner')(将
partner
设置为我的自定义错误数组),我应该使用$errors->partner->first('first_name')
从自定义数组接收第一条消息,而不是像文档中那样从常规错误数组接收第一条消息,您的数组中需要有一个'custom'
键,因为Laravel将首先尝试查找自定义键:
'custom' => array(
'partner' => array(
'first_name' => array(
'required' => 'My message here',
),
),
),
您是否尝试过withErrors($validator)代码>当然尝试过了。但我需要自定义错误,而不是标准错误。如果我没有添加
'partner'
参数,我就无法访问我的消息,比如$errors->partner->first('first_name')
我是新手,甚至不在自定义验证器,默认的验证器让我头疼,这也不起作用。我仍然得到标准错误而不是自定义错误。