2015-08-14 34 views
1

對於窗體的字段,我可以在窗體的字段中使用它,並且可以在窗體中很好地處理錯誤。窗體中的自定義錯誤處理(Laravel 5)

@if($errors->any()) 
     <div class="alert alert-error"> 
     <a href="#" class="close" data-dismiss="alert">&times;</a> 
      {!! implode('', $errors->all('<li class="error">:message</li>')) !!} 
     </div> 
@endif 

public function rules()

不過,我想用同樣的概念對我的自定義錯誤的形式,我相信我能不能與rules()實現。

在我的控制,我有:

if ($fileExtension != 'pdf') 
    { 
     // needs proper handling 
    } 

如何編輯// needs proper handling一部分,這樣我可以用相同的刀片概念,使用它呢?

回答

1

有可以使用MIME類型的規則:

'yourFile' => 'mimes:pdf' 

如果您運行不僅僅是一個驗證的更多,你可以使用這個較長的方法:

$validator = Validator::make(...); 

$validator->after(function($validator) { 
    if ($fileExtension != 'pdf') { 
     #here is place for more stuff... 
     $validator->errors()->add('field', 'Something is wrong with this field!'); 
    } 
}); 
+0

謝謝,但怎麼樣,如果我有多次檢查,如if條件,我不能用'mimes'。就像你的第二個驗證碼一樣,我可以在那裏插入更多的if語句嗎?也許'文件大小'或'如果文件存在'?謝謝 – senty

+1

http://laravel.com/docs/5.1/validation#rule-size會給你更多的信息。你可以檢查一切,如果你不滿意它,你會添加一個錯誤'$ validator-> errors() - > add('field','這個字段有問題!');' – mimo

+0

我很困惑這個更長的方法。有沒有辦法把所有的驗證(包括自定義'if's'和laravel''size','required'等)放在'rules'(Request)中?或者我需要將一些內容放入控制器和其他請求中?我試圖問,是否有辦法在validation_中輸入自定義的多個錯誤處理。 – senty