2016-09-05 6 views
1

どのように私のREQUESTSファイルで検証メッセージをカスタマイズできますか?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の職人メイクを:StoreArticleRequestを要求する」StoreArticleRequest.phpクラスがアプリに位置しています を/ HTTP /ディレクトリを要求します。 –

+1

@サゴール右...質問(または回答)とは何も関係ありません。 –

関連する問題