2017-04-04 147 views
0

我需要添加像這樣的多個自定義錯誤消息,並且都需要顯示爲驗證消息。我有以下代碼:在Laravel驗證中添加多個自定義消息

if (!$condition1) { 
    $error[] = "Condition 1 needs to be satisfied"; 
    $validation = false; 
} 

if (!$condition2) { 
    $error[] = "Condition 2 needs to be satisfied";  
    $validation = false; 
} 

$validator->setCustomMessages($error); 

但是在這裏,我得到的只有一條消息,即使它進入第二個條件也是第一條消息。我試圖在每個條件中添加$validator->setCustomMessages("Message");,但它也在做同樣的事情。

+0

你什麼時候看到只有一個錯誤?在'$ validator-> setCustomMessages($ error);'後面或者在視圖中? – Nerea

+0

作爲API調用響應。 –

+0

您是否在擴展驗證課程?設置自定義消息,您應該添加規則的名稱作爲$ error數組的索引 –

回答

0

嘗試改變$validator->setCustomMessages($error);$validator->getMessageBag()->merge($error);

現在,如果你做$validator->errors()->getMessages()你必須與你爲什麼要使用條件語句進行驗證這兩個錯誤

0

您的陣列? 這是我用來處理在我的控制器上傳照片的驗證。 您對「必填」和「尺寸」(其中指的是照片數組的大小)有一個自定義錯誤消息。 要添加另一個自定義消息,只需使用點符號在另一個規則及其相應的錯誤消息上傳輸。 只有滿足所有規則後,代碼纔會繼續執行。

$this->validate($request, 
    [ 
     'photos'  => 'required|size:4' 
    ], 
    [ 
     'photos.required'  => 'Photos are Required', 
     'photos.size'   => 'You must upload 4 Photos' 
    ] 
);