我正在尝试验证唯一记录在编辑时,但它始终显示该字段必须是唯一的。基本上我需要忽略那个id的值。 id是主键。
$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);
}
答案 0 :(得分:1)
为unique规则
使用其他参数$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',
]);
答案 1 :(得分:0)
您可以在docs中看到,您可以在唯一身份验证中排除值。
示例:
// 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,
'...'
]);
}