Я использую Laravel 6.0 и пытаюсь создать панель управления, где пользователь может обновлять свою информацию, но я сталкиваюсь с одной проблемой, которая игнорирует уникальные: пользователи в валидаторе.
, если пользователь хочетчтобы сохранить тот же адрес электронной почты, валидатор выдает ошибку «Письмо уже получено», а также пользователь не должен менять адрес электронной почты на другой адрес электронной почты, зарезервированный другим пользователем.
Как можно избежать этой проверки в случае, еслиэтот пользователь является единственным пользователем, имеющим этот адрес электронной почты.
UserUpdateRequest.php Файл:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UserUpdateRequest extends FormRequest
{
/**
* 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()
{
return [
'name' => 'required',
'email' => 'email|required|unique:users,email,' . $this->route("users"),
'password' => 'required_with:password_confirmation|confirmed'
];
}
}
UserStoreRequest.php Файл:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UserStoreRequest extends FormRequest
{
/**
* 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()
{
return [
'name' => 'required',
'email' => 'email|required|unique:users',
'password' => 'required|confirmed'
];
}
}