#laravel #validation
Вопрос:
Я пытаюсь показать пользователям ошибки при проверке в Laravel, и я следую этому пути и работал со многими формами в проекте, но контактная форма специально не работает, кто-нибудь может мне помочь, пожалуйста?
app.php поставщики
RealRashidSweetAlertSweetAlertServiceProvider::class,
app.php псевдонимы
'Alert' => RealRashidSweetAlertFacadesAlert::class,
и я включил его в мастер-макет
@include('sweetalert::alert')
в controller.php
$this->middleware(function ($request, $next) {
if (session('success')) {
Alert::success(session('success'));
}
if (session('error')) {
Alert::error(session('error'));
}
if (session('errorContactForm')) {
$html = "<ul style='list-style: none;'>";
foreach (session('errorContactForm') as $error) {
$html .= "<li>$error[0]</li>";
}
$html .= "</ul>";
Alert::html(trans('خطأ في انشاء الحساب'), $html, 'error');
}
return $next($request);
});
функция магазина
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:100|min:3',
'email' => 'required|email',
'message' => 'required'
], [
'name.required' => trans('يرجى ادخال الاسم'),
'name.string' => trans('يرجى ادخال اسم صحيح'),
'name.max' => trans('يجب ألا يتجاوز الاسم 100 حرف'),
'name.min' => trans('يجب ان يزيد الاسم عن حرفين على الاقل'),
'email.required' => trans('يرجى ادخال البريد الالكتروني'),
'email.email' => trans('يرجى ادخال بريد الكتروني صحيح'),
'message.required' => trans('يرجى ادخال الرسالة')
]);
if ($validator->fails()) {
$errors = $validator->errors();
return redirect()->back()
->with('errorContactForm', $validator->errors()->getMessages())
->withInput();
}
try {
ContactMessage::create(['name' => $request->name, 'email' => $request->email, 'message' => $request->message]);
return redirect(route('home'))->with('success', trans('تم ارسال الرسالة بنجاح'));
} catch (Exception $e) {
return redirect()->back()->with('error', trans('تعذر ارسال الرسالة'));
}
}
when i enter valid data it stores in the database but when i enter invalid data it just refreshes