laravel 数据库字段唯一性验证

2020-05-09  本文已影响0人  charmingcheng

单字段验证唯一性

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' => '手机号已经注册',
    ];
}
上一篇 下一篇

猜你喜欢

热点阅读