2016-09-22 37 views
2

我使用Validator Facade,這裏的代碼附加一個錯誤laravel來驗證5

$req = Request::all(); 
$rules = [ 
    'name'=>'required|min:3|max:20' 
]; 
$validator = Validator::make($req, $rules); 

if(/*another problem*/){ 
    // ?? 
}  

if ($validator->fails()) { 
    return redirect()->back()->withErrors($validator)->withInput(); 
} 

我想保持這些錯誤的Laravel的Validator化妝的它自己和附加一些人對他們(如果需要) 。 例如,如果name輸入沒有問題,但我的if語句發現錯誤,則Validator將失敗。

+0

在這種情況下,您應該檢查驗證器失敗/通過後的其他條件(IMO)。 –

回答

2

驗證MessageBag

您可以將它添加到ValidatorMessageBag信息添加到您的窗體的name財產。

if(/*another problem*/) { 
    $validator->getMessageBag()->add('name', 'Something else does not check out!'); 

    return redirect()->back()->withErrors($validator)->withInput(); 
} 

我建議做這個邏輯,你檢查formvalidation失敗後,因爲只需添加消息到MessageBag不會將您的驗證爲失敗。然後,您可以在完成一項或多項檢查後手動返回重定向,以重定向到出現錯誤和輸入的表單。

+0

你有我,但它不起作用,? – bobD

+0

@bobD檢查更新 –

0

試試這個驗證

$messages = [ 
    'name.required' => 'Please enter name.', 
    'naem.min' => 'The name must be at least 3 characters.', 
    'name.max' => 'The name may not be greater than 20 characters.' 
]; 

$validator = Validator::make($data, [ 
    'name'=>'required|min:3|max:20' 
], $messages); 
+0

這不是我所需要的,考慮檢查一些Laravel的Validator是不可能的東西 – bobD

+0

好吧,你想添加自定義驗證權限.. – Komal

+0

這是另一種方式,我想做最懶的方式,只是手動檢查一些東西並附上錯誤 – bobD