I have 2 columns in table servers.
我有ip
列和hostname
列.
I have validation:
'data.ip' => ['required', 'unique:servers,ip,'.$this->id]
这只适用于第ip
列.但是如何做到这一点呢?对于第hostname
列来说,它是可行的吗?
我要验证数据.第ip
列和第hostname
列的ip.
I have 2 columns in table servers.
我有ip
列和hostname
列.
I have validation:
'data.ip' => ['required', 'unique:servers,ip,'.$this->id]
这只适用于第ip
列.但是如何做到这一点呢?对于第hostname
列来说,它是可行的吗?
我要验证数据.第ip
列和第hostname
列的ip.
You can use Rule::unique
to achieve your validation rule
$messages = [
'data.ip.unique' => 'Given ip and hostname are not unique',
];
Validator::make($data, [
'data.ip' => [
'required',
Rule::unique('servers')->where(function ($query) use($ip,$hostname) {
return $query->where('ip', $ip)
->where('hostname', $hostname);
}),
],
],
$messages
);
edit: Fixed message assignation