2016-05-31 5 views
0

Ich versuche, für den eindeutigen Datensatz zu validieren Während der Bearbeitung, aber es zeigt immer das Feld muss eindeutig sein. Grundsätzlich muss ich den Wert dieser ID ignorieren. ID ist der Primärschlüssel.Einmalige Feldvalidierung während der Aktualisierung machen

$validator=Validator::make($request->all(),[ 
'name'=>'required', 
'telephone'=>'required|unique:telephone', 
'email'=>'unique:telephone', 
'altemail'=>'unique:telephone', 
'image'=>'image', 

]); 

if($validator->fails()){ 
return redirect('/telephone/addview') 
    ->withErrors($validator); 
    } 

Antwort

1

Verwendung zusätzliche Argumente für unique Regel

$validator=Validator::make($request->all(),[ 
    'name'=>'required', 
    'telephone'=>'required|unique:telephone,telephone,'.$yourMdelInstance->id, 
    'email'=>'unique:telephone,email,'.$yourMdelInstance->id, 
    'altemail'=>'unique:telephone,altemail,'.$yourMdelInstance->id, 
    'image'=>'image', 
]); 
0

Sie können in der sehen docs Sie einen Wert in Ihrer einzigartigen Validierung ausschließen.

Beispiel:

// YourController.php 

publiuc function postUpdate(Request $request) 
{ 

    // Get your resource first. 
    $model = Model::find($request->input('id')); 

    // Check if exists 
    if (!$model) \App::abort(404); 


    // Validate 
    $this->validate($request, [ 
     '...' 
     'telephone' => 'required|unique:yourtablename,telephone,'.$model->telephone, 
     '...' 
    ]); 

} 
Verwandte Themen