2016-03-03 156 views
0

我在Laravel 5.2中設置Request類以處理表單。我在表單中有一個選擇菜單。在選擇菜單類似下面的第一個元素:Laravel 5.2驗證請求「不在」不返回自定義消息

<select name="unique-id"> 
    <option value="none">Select one...</option> 
    <option value="real">Real</option> 
</select> 

默認情況下,選擇菜單是「無」 - 提交選擇此選項應該導致錯誤的形式;所以,我有以下內容:

class SomeRequest extends Request 
{ 
    ... 

    public function rules() 
    { 
     return [ 
      'unique-id' => 'not-in:none', // error is caught 
      'required-field' => 'required' // error is caught 
     ]; 
    } 

    ... 
} 

「未進入」規則被請求處理程序捕獲並返回一個錯誤;然而,默認的錯誤信息是「所選的唯一ID無效」 - 顯然不是最爲人性化的錯誤信息。所以,我創建了以下內容:

class SomeRequest extends Request 
{ 
    ... 

    public function messages() 
    { 
     return [ 
      'unique-id.not-in' => 'Must select a valid XXXX.', // does not return 
      'required-field.required' => 'Verifying custom errors.' // returns 
     ]; 
    } 

    ... 
} 

我已經嘗試了一些變體,但不想用任何人的答案。所以,以上是目前失敗的。

+2

它應該是「not_in」而不是「not-in」。 https://laravel.com/docs/5.1/validation#rule-not-in –

+0

@JohnRoca - 有趣的鍵盤滑 - 想知道爲什麼它首先正確處理。明天早上將刪除問題。謝謝。 –

+0

或者您可以將我的答案標記爲正確。 –

回答