【发布时间】:2025-12-24 07:25:11
【问题描述】:
我用自定义消息设置 laravel 5.8 表单请求,它的验证很好,并在输入无效时重定向回表单 但 dost 错误返回或我不看哪里有错误
这是我的课
public function create(createUser $request){
//on invalid input not enter in this class
//validation
//dd($request->all('name'));
$validator = $request->validated();
if ($validator->fails()) {
Session::flash('error', $validator->messages()->first());
return redirect()->back()->withInput();
}
请求类
public function rules()
{
return [
'name' => 'required|max:255'
,'email' => 'string|required|E-mail|unique:users,email'
,'birthY' => 'required|min:4'
,'birthM' => 'required'
,'birthD' => 'required'
,'gender' => 'required'
,'Phone' => 'required|min:11|max:11'
,'password' => 'required|min:8'
];
}
public function messages(){
return [
'name.required' => "اسمت چیه ؟!!",
'email.required' => 'ایمیلت چیه?',
'gender.required' => 'سرکار خانم یا جناب آقای ؟',
'Phone.required' =>'شماره ما توی درباره ما هست شما بدین شاید باهتون کار داشتیم',
'birthY.required' => 'تولدت کیه ؟',
'birthY.min' => 'سال ها چهار رقمیه گلم',
'password.required' =>'رمز بزار تا امن باشی ' ,
'password.min' =>'حداقل هشتا بزن که کسی شک نکنه ',
'password.confirmed' =>'هنوز هیچی نشده یادت رفت پسوردت رو تایید کن تا بفهمم یاد داری',
'Phone.min' => 'شمارتو با صفر بزن لطفا'
];
}
这是我的刀片,我尝试显示错误不 工作!!!!
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }} </li>
@endforeach
</ul>
</div>
@endif
@isset($messages)
<?php dd($messages) ?>
@endisset
@if (count($errors) > 0)
<div class="alert alert-danger">
<?php dd($error) ?>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
如果您需要其他 代码,请告诉我 tnx 很多 :)
【问题讨论】:
-
当您使用 Laravel 表单请求验证 (laravel.com/docs/master/validation#form-request-validation) 时,Laravel 将为您处理一切。您不必手动检查验证并手动重定向到上一页。再次阅读文档。此外,使用 Laravel Telescope 进行更好的调试,以确保您到达正确的终点。
-
我知道,但我需要知道如何显示我的错误消息,这是我的主要问题
-
您说验证不会触发。安装 Laravel Telescope 进行调试。使用 Laravel 表单请求验证文档从头开始。当您让 dd() 验证消息正常工作时,然后继续下一步以将它们显示在您的表单上。
-
dd( $validator)的结果是什么 -
它没有得到结果
标签: php laravel laravel-blade laravel-5.8