Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查laravel中的验证是否失败_Php_Laravel_Validation - Fatal编程技术网

Php 检查laravel中的验证是否失败

Php 检查laravel中的验证是否失败,php,laravel,validation,Php,Laravel,Validation,我想知道使用这种代码编写(我正在使用)时验证失败的时间 我知道我可以用这个: $validator = Validator::make($request->all(), [ 'name' => 'required|min:2|max:255' ]); if ($validator->fails()) { //Not okay } 但是我想通过使用$this->validate而不是使用验证器模型来保持这种验证方式 所以。。。是否可以使用以下内容: //This is

我想知道使用这种代码编写(我正在使用)时验证失败的时间

我知道我可以用这个:

$validator = Validator::make($request->all(), [
    'name' => 'required|min:2|max:255'
]);

if ($validator->fails()) { //Not okay }
但是我想通过使用
$this->validate
而不是使用
验证器
模型来保持这种验证方式

所以。。。是否可以使用以下内容:

//This is not working btw

$test = $this->validate($request, [
    'name' => 'required|min:2|max:255'
]);

if( $test )
{ //Ok }
else
{ //Not okay };

您可以这样使用它:

$request->validate($rules);
$validator = Validator::make($request->all(), [
    'name' => 'required|min:2|max:255'
]);

if ($validator->fails()) {
    return view('view_name');
} else {
    return view('view_name');
}

然后返回错误

$test = $request->validate([
           'name' => 'required|min:2|max:255'
        ]);
你需要检查是否没有错误,然后你可以做任何你想做的事情

在您的情况下,您需要这样做:

$request->validate($rules);
$validator = Validator::make($request->all(), [
    'name' => 'required|min:2|max:255'
]);

if ($validator->fails()) {
    return view('view_name');
} else {
    return view('view_name');
}

尝试使用FormRequests。什么不起作用?这是验证方法吗?所以不可能?我被迫使用
验证程序
方法?是。不可能。。。如果要重定向到其他页面或执行一些自定义操作,则需要使用
Validator::make()
,因为它具有方法
fails()
。也许您可以为
$request()->validate()创建自己的
fails()
方法