我正在尝试在中间件上验证电子邮件,所以我需要的是,如果用户的电子邮件不是电子邮件,那么它需要重定向到特定页面,但我不确定如何验证。我知道您使用 $request->validate([])
的表格,但我不确定在我的情况下如何使用。
这是我的中间件
public function handle(Request $request, Closure $next)
{
$validate = $request->validate([
'email' => 'email'
]);
if(!$validate)
{
return redirect('/wrong-email');
}
}
答案 0 :(得分:1)
最好直接在您的控制器中进行。但是如果你坚持在中间件上做,你可以直接使用 Validator
门面:
use Illuminate\Support\Facades\Validator;
...
public function handle(Request $request, Closure $next)
{
$validator = Validator::make($request->all(), [
'email' => 'email',
]);
if ($validator->fails()) {
return redirect('/wrong-email');
}
return $next($request);
}
答案 1 :(得分:0)
您可以手动创建验证器:
$validator = Validator::make([
'email' =>$request->input(email)
], [
'email' => 'email',
]);
if ($validator->fails()) {
return redirect('/wrong-email');
}
或者只是使用您的 $request:
$request->validate([
'email' => 'email'
]);
答案 2 :(得分:0)
你可以试试这个
$v = Validator::make($request->all(), [
'email' => 'required|email|unique:users'
]);
if ($v->fails())
{
return redirect()->back()->withErrors($v->errors());
}
//