在laravel5表单验证中为字段设置自定义验证消息?

I want to set custom filed name in laravel5 form validation error messages.

my form validation request class is,

   class PasswordRequest extends Request {

    protected $rules = [
        'old' => ['required'],
        'new' => ['required','same:cnew'],
        'cnew' => ['required']
    ];

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize() {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules() {
        return $this->rules;
    }

}

Here when old,new and cnew emty, Error message will be like following,

  • The old field is required.
  • The new field is required.
  • The cnew field is required.

I want to display like following instead of above message,

  • Old password field is required
  • New password field is required
  • Confirmation password field is required.

How it is possible in laravel5 Form Request Validation method?

Option 1:

You can define your custom attributes in resources/lang/en/validation.php under Custom Validation Attributes 'attributes' => [], like so:

/*
    |--------------------------------------------------------------------------
    | Custom Validation Attributes
    |--------------------------------------------------------------------------
    |
    | The following language lines are used to swap attribute place-holders
    | with something more reader friendly such as E-Mail Address instead
    | of "email". This simply helps us make messages a little cleaner.
    |
    */

    'attributes' => [
        'old'              =>'Old Paaword',
        'new'              =>'New password',
        'cnew'             =>'Confirmation password'
    ]