2016-11-16 3 views
0

私はLaravelクライアントのRESTfull APIからこのエラーメッセージバッグを取得していますが、エラーをユーザに表示したいのですが、それらは配列です。messageBag with配列L5.1

MessageBag {#251 ▼ 
    #messages: array:6 [▼ 
    "gender" => array:1 [▶] 
    "first_name" => array:1 [▼ 
     0 => "The first name must be at least 2 characters." 
    ] 
    "last_name" => array:1 [▶] 
    "user_id" => array:1 [▶] 
    0 => array:4 [▼ 
     "user_id" => array:1 [▶] 
     "address2" => array:1 [▼ 
     0 => "The address2 must be at least 3 characters." 
     ] 
     "zip" => array:1 [▶] 
     "phone" => array:1 [▶] 
    ] 
    1 => array:4 [▼ 
     "user_id" => array:1 [▶] 
     "address2" => array:1 [▼ 
     0 => "The address2 must be at least 3 characters." 
     ] 
     "zip" => array:1 [▶] 
     "phone" => array:1 [▶] 
    ] 
    ] 
    #format: ":message" 
} 

私は、私はこの1つを行うことができます性別・エラーを印刷するたとえば、エラーを表示する通常の方法を知っている:

{!! $errors->first('gender', '<label class="control-label"><i class="glyphicon glyphicon-menu"></i> :message</label>') !!} 

や「性別」というエラーが存在するかどうかを確認するには:

{!! $errors->has('gender') ? 'has-error' : '' !!} 

しかし、配列0が存在するかどうかをチェックしてエラーを表示する方法はありますか?

いただきありがとうございます:)

答えて

0

を現在アレイとLaravel 5.1印刷MessageBagsにはかのうではありません、私の解決策は、インスタンスへの二次的エラーの代わりに、メインMessageBagの巣、それをのために異なるMessageBagました。

別のとりうる解決策は、それが好きな巣にした二次MessageBagを作成し、

MessageBag {#251 ▼ 
    #messages: array:6 [▼ 
    "gender" => array:1 [▶] 
    "first_name" => array:1 [▼ 
     0 => "The first name must be at least 2 characters." 
    ] 
    "last_name" => array:1 [▶] 
    "user_id.0.errors" => array:1[▼ 
     0 => "True" 
    ] 
    "user_id.0.error_name" => array:1[▼ 
     0 => "The first name must be at least 2 characters" 
    ] 
    "user_id.1.errors" => array:1[▼ 
     0 => "True" 
    ] 
    "user_id.1.error_name" => array:1[▼ 
     0 => "The first name must be at least 2 characters" 
    ] 
    ] 
    #format: ":message" 
} 

をしかし、私が言ったように、それを行うためのクリーンな方法ではありませんが、よりクリーンで簡単でした:)

関連する問題