fix: 验证邮箱唯一性
This commit is contained in:
parent
2a6d65d4e7
commit
8088787eee
@ -6,13 +6,14 @@ use Catch\Base\CatchController as Controller;
|
|||||||
use Catch\Support\Module\ModuleRepository;
|
use Catch\Support\Module\ModuleRepository;
|
||||||
use Illuminate\Contracts\Auth\Authenticatable;
|
use Illuminate\Contracts\Auth\Authenticatable;
|
||||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Modules\Permissions\Models\Departments;
|
use Modules\Permissions\Models\Departments;
|
||||||
use Modules\User\Models\LogLogin;
|
use Modules\User\Models\LogLogin;
|
||||||
use Modules\User\Models\LogOperate;
|
use Modules\User\Models\LogOperate;
|
||||||
use Modules\User\Models\User;
|
use Modules\User\Models\User;
|
||||||
use Psr\Container\ContainerExceptionInterface;
|
use Psr\Container\ContainerExceptionInterface;
|
||||||
use Psr\Container\NotFoundExceptionInterface;
|
use Psr\Container\NotFoundExceptionInterface;
|
||||||
|
use Modules\User\Http\Requests\UserRequest;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
{
|
{
|
||||||
@ -47,10 +48,10 @@ class UserController extends Controller
|
|||||||
/**
|
/**
|
||||||
* store
|
* store
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param UserRequest $request
|
||||||
* @return false|mixed
|
* @return false|mixed
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(UserRequest $request)
|
||||||
{
|
{
|
||||||
return $this->user->storeBy($request->all());
|
return $this->user->storeBy($request->all());
|
||||||
}
|
}
|
||||||
@ -80,10 +81,10 @@ class UserController extends Controller
|
|||||||
* update
|
* update
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param $id
|
||||||
* @param Request $request
|
* @param UserRequest $request
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function update($id, Request $request)
|
public function update($id, UserRequest $request)
|
||||||
{
|
{
|
||||||
return $this->user->updateBy($id, $request->all());
|
return $this->user->updateBy($id, $request->all());
|
||||||
}
|
}
|
||||||
|
44
modules/User/Http/Requests/UserRequest.php
Normal file
44
modules/User/Http/Requests/UserRequest.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\User\Http\Requests;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
use Modules\Permissions\Models\Roles;
|
||||||
|
|
||||||
|
class UserRequest extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* rules
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function rules(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'email' => [
|
||||||
|
'required',
|
||||||
|
Rule::unique('users')->where(function ($query) {
|
||||||
|
return $query->when($this->get('id'), function ($query){
|
||||||
|
$query->where('id', '<>', $this->get('id'));
|
||||||
|
})->where('deleted_at', 0);
|
||||||
|
})
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* messages
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function messages(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'email.required' => '邮箱必须填写',
|
||||||
|
|
||||||
|
'email.unique' => '邮箱已存在',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user