#php #laravel
#php #laravel
Вопрос:
Я хочу обрабатывать ошибки запроса ввода, как я делаю при запросе POST.
Возможно ли это?
Потому что мое фактическое решение, похоже, не работает.
Моя обработка ошибок выглядит следующим образом
@error('name')
<span class="invalid-feedback is-invalid" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
Мой код формы
<form class="theme-form" method="POST" action="{{ route('user-profile-information.update') }}">
@csrf
{{ method_field('PUT') }}
<div class="form-group row">
<label class="col-sm-3 col-form-label" for="name">Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="name" name="name" value="{{ Auth::user()->name }}" />
</div>
@error('name')
<span class="invalid-feedback is-invalid" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label" for="email">Email Address</label>
<div class="col-sm-9">
<input type="email" class="form-control" id="email" name="email" value="{{ Auth::user()->email }}" />
</div>
@error('email')
<span class="invalid-feedback is-invalid" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<input type="submit" class="btn btn-primary f-right" value="Save" />
</form>
Комментарии:
1. Вам нужно написать средство проверки либо в контроллере, либо в файле запросов
Ответ №1:
вам нужно использовать validate в вашем контроллере, например:
public function update(Request $request, User $user,$id)
{
$request->validate([
'name' => 'required|max:65|min:4',
'email' => 'required|email',
]);
$date = $request->except(['_token','_method']);
$user->where('id', $id)->update($date);
return redirect()->route('home');
}
Комментарии:
1. Проблема в том, что это для обновления профиля Fortify, и я не могу получить доступ к контроллеру. Но в /app/Actions/fortify/UpdateUserProfileInformation.php в методе обновления у меня есть валидатор