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

2016-09-22 14:57:14   php

  php   laravel  

需求场景

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

Laravel版本

5.2

路由

backend/user/{user}

实例

  1. <?php
  2. namespace App\Http\Requests\Backend\User;
  3. use App\Http\Requests\Request;
  4. class UpdateRequest extends Request
  5. {
  6. /**
  7. * Determine if the user is authorized to make this request.
  8. *
  9. * @return bool
  10. */
  11. public function authorize()
  12. {
  13. return true;
  14. }
  15. /**
  16. * Get the validation rules that apply to the request.
  17. *
  18. * @return array
  19. */
  20. public function rules()
  21. {
  22. $id = $this->route('user'); //获取当前需要排除的id,这里的 user 是 路由 {} 中的参数
  23. return [
  24. 'email' => "required|email|unique:users,email,".$id,
  25. ];
  26. }
  27. }

验证说明

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


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