Laravel 更新数据时在表单请求验证中排除自己,检查指定字段唯一性

需求场景

修改用户信息时,在表单请求验证中排除当前邮箱所在的记录行,并检查邮箱的唯一性。

Laravel版本

5.2

路由

backend/user/{user}

实例

<?php

namespace App\Http\Requests\Backend\User;

use App\Http\Requests\Request;

class UpdateRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $id = $this->route('user'); //获取当前需要排除的id
        return [
            'email' => "required|email|unique:users,email,".$id,
        ];
    }
    
}

验证说明

unique:表名,字段,需要排除的ID

欢迎加入技术讨论群 QQ : 339803849
我的开源博客 : https://github.com/moell-peng…

    原文作者:moell
    原文地址: https://segmentfault.com/a/1190000006980680
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞