Передайте объект $request
, а не $request->all()
, который возвращает массив ввода.
$this->validate($request, [
'fname' => 'required',
'email' => [
'required',
Rule::unique('users')->ignore($id),
],
'password' => 'nullable,confirmed',
'roles' => 'required'
]);
Я изменил правило пароля, чтобы проверить, существует ли оно, и если оно существует, оно подтверждает, что оно соответствует .
Снова я удалил цепной all()
метод
$input = $request->except(['country_id', 'region_id']);
if(!empty($input['password'])){
$input['password'] = Hash::make($input['password']);
}else{
$input = array_except($input,array('password'));
}
Не забудьте использовать
use Illuminate\Validation\Rule;