2016-09-05 119 views
1

如何在我的請求文件中自定義我的驗證消息?在Laravel請求中自定義驗證消息

如何在規則旁添加消息? 我想要的就是像常見驗證一樣放置自定義消息。可能嗎?在請求中只進行正常的驗證方式?

<?php 

namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class ArticleRequest extends Request 
{ 
    /** 
    * 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 [ 
     'title' => 'required|min:5', 
     'content' =>'required', 
     'user_id' => 'required|numeric', 
     'category_id' => 'required|numeric', 
     'published_at' => 'required|date' 
     ]; 
    } 

}

回答

2

您可以通過 重寫消息的方法定製由形式請求中使用的錯誤消息。此方法應返回的 屬性/規則對與它們對應的錯誤消息數組:

public function messages() 
{ 
    return [ 
     'title.required' => 'A title is required', 
     'body.required' => 'A message is required', 
    ]; 
} 

https://laravel.com/docs/5.3/validation#customizing-the-error-messages

4

可以定義messages()方法與只形式請求驗證規則:

class StoreArticleRequest extends Request 
{ 
    // 

    public function messages() 
    { 
     return [ 
      'title.required' => 'The title is required.', 
      'category_id.numeric' => 'Invalid category value.', 
     ]; 
    } 
} 

它採用字段名稱和規則名稱的形式,中間有一個點,即field.rule

+0

您可以通過命令行創建此自定義請求消息: 「php artisan make:request StoreArticleRequest」 StoreArticleRequest.php類位於app/Http/Requests目錄中。 –

+1

@sagor Right ...雖然與問題(或答案)無關。 –