Laravel:每个控制器的自定义错误消息?

时间:2016-03-18 02:02:17

标签: laravel controller each

这是/resource/lang/en/validation.php中的代码,用于每个指定元素名称和验证规则的自定义错误消息:

'custom' => [
    'attribute-name' => [
        'rule-name' => 'custom-message',
    ],
],  

但这是我的问题。我有:

  • 控制器A - >元素[标题] - >要求 - >消息' AAA'
  • 控制器B - >元素[标题] - >要求 - >消息' BBB'

但由于某些原因,我不想在Request class 中的方法消息()中自定义错误消息。

我需要在/resource/lang/en/validation.php中自定义消息。我怎样才能做到这一点?伪代码:

ControllerA.title.require => 'AAA'
ControllerB.title.require => 'BBB

' 请帮我。非常感谢你。

1 个答案:

答案 0 :(得分:0)

实现自定义消息的最简单方法是在验证时指定自定义消息,例如:

// custom messages
$messages = [ 'rule-name' => 'Custom message' ];

// validate input with rules, adding in custom messages
$validation = Validator::make( Input::all(), $rules, $messages );

$messages中的第三个参数Validator::make允许您传入自定义消息数组。您甚至可以添加替换,例如:

$messages = [ 'rule-name' => 'Custom message for :attribute should be :value' ];

您甚至可以为同一字段的不同验证问题指定自定义消息:

$messages = [
    'field.required' => 'Field is required',
    'field.size' => Field is too short' 
];