【发布时间】:2020-05-07 10:34:04
【问题描述】:
我的验证工作正常。但没有显示任何消息。我在下面提到。
在控制器中
$fields = collect([
'monthly_fees',
'admission',
'due_advance',
'session_fee',
'library',
'sports',
'poor_funds',
'fine',
'reciept',
'milad',
'scout',
'development',
'registration',
'f_tutorial',
's_tutorial',
't_tutorial',
'f_exam',
's_exam',
't_exam',
'labratory',
'transport',
'syllabus',
'certificate',
'testimonial',
'generator',
'extra'
]);
$rules = $fields->mapWithKeys(function ($field) use ($fields) {
return [
$field => 'required_without_all:' . $fields->reject(function ($item) use ($field) {
return $item == $field;
})->implode(',')
];
})->toArray();
$this->validate($request, $rules);
在视图中
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul class="text-center">
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
我也在控制器中使用了这些代码行,但没有用。
if($this->validate()->fails()) {
return redirect()->back()->with('error','Please Input minimum 1 field...');
}
我想做至少 1 个字段是必需的。我有 26 个输入字段。我总是将这些代码用于一次性使用。但这次要验证所需的最少一个字段。这些代码验证了所需但没有显示任何消息,尽管我提到了刀片中的错误。你能帮我解决这些错误吗?提前致谢。
【问题讨论】:
-
您是否在路由中使用了 Web 中间件?看看这个链接stackoverflow.com/questions/36784253/…
-
这没有任何意义。我没有使用网络路由。但我使用我的自定义中间件。用于登录验证。我现在应该怎么做才能显示消息?
-
我的 laravel 版本是 6.18,但你的答案是 5.27。在这里,他在
http/routes.php内工作。但我没有这样命名的文件。
标签: php laravel validation