我得到了一個有效的解決方案。 我的想法如下:如果有張貼的圖像,然後使用$ validator-> fails()方法,我從服務器上刪除圖像。
下面是完整的代碼,如果有人需要它:
// Validating the request
public function validate(Request $request){
$rules = []; //define your rules
$messages = []; //define your rules
// We make new validator with request data, rules and messages
$validator = Validator::make($request->all(), $rules, $messages);
// Deleting images if the validator fails
if($validator->fails()){
if(isset($request->images)){
foreach($request->images as $image){
// unlink your image here
}
}
return Redirect::back()->withInput()->withErrors($validator);
}
}
則在該方法存儲/編輯(或自定義方法)只要致電:
public function store(Request $request){
// If it fails, return the redirect we defined.
if($this->validate($request)){
return $this->validate($request);
}
}
您也可以定義驗證直接在商店方法中,但由於我在我的控制器中使用它幾次,我爲它做了一個單獨的方法。如果我們想重定向錯誤,我們必須返回它的值。
乾杯。
驗證是爲圖像?或表單中的其他字段綁定? – 2Fwebd
其他領域。我使用AJAX驗證圖像輸入,我呼籲上傳/刪除圖像。當我在dropzone中上傳圖片併成功上傳時,會生成一個輸入標籤,名稱=「images []」,然後我處理控制器中的圖像並將它們存儲在數據庫中。 (從dropzone中刪除圖像時刪除輸入標籤) –