我正在使用控制器中validate()
处的$request
方法来验证表单。它可以工作,但是除了错误消息(位于$errors
变量中)之外,我想将Session消息放置在警报组件上,这通常是通过在返回视图时使用with()
方法来完成的。控制器方法的结尾。
但是,当validate()
方法向我返回错误时,我没有找到向其添加会话消息的方法。
代码是这样的:
$request->validate([
'name' => 'required',
'cpf' => 'cpf|required',
'email' => 'email|required',
'data_de_nascimento' => 'date',
'data_de_pagamento' => 'date',
'modalidade' => 'required',
'instrutor' => 'required',
'avaliacao' => 'file|required',
);
我希望validate()
方法返回给我一个带有以下参数的Session:
'message' => [
'content' => 'Check the mistaken information!',
'type' => 'danger',
]
有可能吗?还是应该使用Validator类?
答案 0 :(得分:0)
使用Validator类手动验证是一种方法。 另外,您可以像
@if ($errors->any())
<div class="alert alert-danger">Check the mistaken information!</div>
@endif
答案 1 :(得分:0)
在刀片文件中尝试
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
答案 2 :(得分:0)
为了使用^([A-Za-z\\])*$
并显示自定义错误消息,可以像这样将消息数组传递给函数:
$request->validate()
,您可以像这样在表单中内嵌显示错误消息:
$messages = [
'name.required' => 'Please make sure your name is entered'
];
$request->validate([
'name' => 'required'
], $messages);
或者您可以按照其他答案的建议将其显示为警报块