Я всегда использовал в своих формах Ajax для выполнения CRUD, но теперь мне нужно было создать форму, которая регулярно публикует сообщения без Ajax.
То, что поражает меня пару раз часы в том, что пользовательский PostsRequest::class
работает хорошо, но вот моя проблема: при сбое проверки повторяет сообщение JSON. Мне нужно фиксировать ошибки по старинке, например:
@error('title')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
, но браузер отображает:
{
"message": "Please correct the errors.",
"errors": {
"title": [
"The title must be between 15 and 16 characters."
]
}
}
Метод store () в моем контроллер:
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Requests\Frontend\ReviewsRequest $request
* @param \App\Models\Review $review
*
* @return \Illuminate\Http\Response
* @since 2.2.0
*/
public function store(ReviewsRequest $request, Review $review)
{
try {
\DB::beginTransaction();
$data = $request->all();
$data['active'] = 0;
$data['approved'] = 0;
$review = $review->create($data);
// sync user reviews
$review->users()->sync(auth()->id(), $review->id);
// sync internal reviews
if($request->get('type') == 'internals') {
$review->internals()->sync(1, $review->id);
}
// sync internal reviews
if($request->get('type') == 'firm') {
$review->firms()->sync(120, $review->id);
}
\DB::commit();
return view('frontend.reviews.review_thank_you');
} catch(Exception $e) {
echo $e->getMessage();
} finally {
}
}
Я искал почти везде документацию, здесь, в StackOverflow, в Интернете и т. д. c, и все, что я нахожу, это люди, которые хотят получить ответ JSON.
В моем классе PostsRequest
я, как обычно, установил public function rules(){ ... }
и public function messages( ... )
Что я могу делать не так? Спасибо за любую помощь в этом довольно глупом вопросе.