2016-11-16 33 views
0

我從Laravel客戶端上的RESTfull API獲取此錯誤消息包,我想向用戶顯示錯誤,但我無法顯示包內的錯誤他們是一個陣列。messageBag與數組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" 
} 

我知道正常的方式來顯示錯誤,例如打印的性別錯誤,我可以做這一個:

{!! $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 {#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" 
} 

但不是一個乾淨的方式來做到這一點,正如我所說,創建一個輔助MessageBag更加整潔,易於:)