Php Laravel 8唯一表单验证忽略

Php Laravel 8唯一表单验证忽略,php,laravel,validation,unique,Php,Laravel,Validation,Unique,我的表格编辑 <form action="{{ route('admin.akun.update', $akun->id_pegawai) }}" method="POST"> @csrf @method('patch') <input type="text" class="form-control" @if (old('nip')) value="{{old('nip')}}&qu

我的表格编辑

<form action="{{ route('admin.akun.update', $akun->id_pegawai) }}" method="POST">
@csrf
@method('patch')
<input type="text" class="form-control" @if (old('nip')) value="{{old('nip')}}" @else value="{{$akun->nip}}" @endif name="nip">
我的控制器

public function update(Request $req, $id_pegawai)
{
    $user = new User;
    $pegawai = new Pegawai;
    $this->validate($req, [
        'nip' => ["required", "unique:users,nip," . $id_pegawai],
    ]);
}
条件:我编辑我的数据,我有一个唯一的字段,如果我不更改唯一字段,它将被成功编辑,如果我用相同的数据替换它,将出现一个警报

["required", "unique:users,nip,".$id_pegawai]
文件:


语法:unique:table,column,except,idColumn

您需要指定要对哪个列唯一

 Rule::unique('users', 'nip')->ignore($id_pegawai, 'id_pegawai'),

如何检索
$id\u pegawai
?能否验证
$id\u pegawai
是否具有要忽略的正确值?还有数据库中与哪个列相关的
$id\u pegawai
?@ClémentBaconnier我想更新我的数据。但我有独特的领域。我已经把id_pegawai扔到表格上了,但是你没有给我们任何我们可以用来帮助你的信息。我们需要了解有关变量的更多信息。如何将它(我想您在某处
$id\u pegawai=…
)检索到该值应该对应的内容。还有,
$id_pegawai
@ClémentBaconnier的内容是什么?我已经添加了一个额外的解释,肯定这就是问题所在。原因默认情况下,它忽略
id
列。所以OP只需要指定要输入的列名就可以了,没问题!但别忘了接受答案,这样问题就结束了。
 Rule::unique('users', 'nip')->ignore($id_pegawai, 'id_pegawai'),