单字段验证唯一性
public function rules()
{
$id = $this->route('member');
$rules = [
...
'phone' => 'required|unique:members,phone,'.$id,
];
return $rules;
}
public function messages()
{
return [
...
'phone.unique' => '手机号已经注册'
];
}
多字段验证唯一性
use Illuminate\Validation\Rule;
...
public function rules()
{
$id = $this->route('member');
$rules = [
...
'phone' => [
'required',
Rule::unique('members')->where('lang', config('langs'))->
where(function ($query){
$query->where('phone', '!=', '')->where([
'phone' => $this->request->get('phone'),
]);
})->ignore($id)
],
];
return $rules;
}
public function messages()
{
return [
...
'phone.unique' => '手机号已经注册',
];
}
网友评论