2016-09-05 2 views
0

Ich habe eine Tabelle Sprachen mit einem Sprachfeld und einem Bildfeld. Die CRU von CRUD ist in Ordnung, aber das Löschen löst die Standardvalidierung aus. Ich habe zwei Validierungsdateien in Requests definiert. Eine davon ist AddNewLanguageRequest, die enthält:Laravel 5.3 - Überschreiben der Standardvalidierung für ein Löschen

public function rules() 
    { 
     return [ 

       'language' => 'required|max:255|min:5', 
       'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048' 
} 

und das andere ist EditLanguageRequest die

public function rules() 
    { 
     return [ 

      'language' => 'required|max:255|min:5', 
      'image' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048' 

     ]; 
    } 

enthält Ich habe eine Form, die die Sprache und das Bild zeigt, gelöscht werden und als Bestätigungstaste und so diese Form Anrufe eine Route:

{!! Form::open(array('url'=>'deletelanguage/'.$lang->id)) !!} 

die Route ruft die LanguageController

public function delete(Requests\EditLanguageRequest $request){ 
     //is there an image? If so delete it 
     $lang = Language::find($request->id); 
     if (isset($lang->image)) 
      { 
       if (Storage::exists($lang->image)) 
        {Storage::delete($lang->image);} 
      } 
     $lang->delete(); 
    } 

Wenn ich es ausprobiere bekomme ich einen Validierungsfehler von der EditLanguageRequest.

Wie kann ich die Validierung für die Löschaktion "ausschalten"?

Antwort

0

Das Problem in dieser Linie war:

public function delete(Requests\EditLanguageRequest $request 

Es war natürlich die Anfrage aufrufen, so dass es an sich ändernde

public function delete(Request $request) 

löste es

Verwandte Themen