Php 定制Laravel注册验证程序

Php 定制Laravel注册验证程序,php,laravel,validation,Php,Laravel,Validation,我正在润色validator()方法,该方法由php artisan auth命令创建。看起来是这样的: protected function custom_validator(array $data) { return Validator::make($data, [ 'name' => 'required|string|max:255', 'password' => 'required|string|min:6', 'cel

我正在润色
validator()
方法,该方法由
php artisan auth
命令创建。看起来是这样的:

protected function custom_validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255',
        'password' => 'required|string|min:6',
        'cell_phone' => 'required|numeric',
    ]);
}
下面是我自己的
create()
方法:

public function custom_create(Request $request)
{
    $this->custom_validator($request->all())->validate();
    dd('validation done ...');
}
它工作正常,一切正常


我的问题:
custom\u create()
方法中的
->validate()
是什么?正如我所说,它是有效的,我是根据Laravel默认值编写的。但我不明白

我相信这就足够了
$this->custom\u validator($request->all())
。它调用同一类中的
custom\u validator()
方法。那么什么是
->validate()
?它来自哪里?

添加这些行

use Validator;
use Illuminate\Validation\Rule;
use Illuminate\Http\Request;
use lluminate\Support\Collection;
->validate()
用于在验证失败时自动重定向

来自文档

如果您想创建一个验证器实例 手动,但仍然可以利用提供的自动重定向 通过请求的validate方法,您可以在上调用validate方法 现有验证程序实例。如果验证失败,用户将 自动重定向,或者在AJAX请求的情况下,自动重定向JSON 将返回以下响应:

语法是

Validator::make($request->all(), [
    'body' => 'required',
])->validate();

在本例中,您将发送
验证程序
实例并调用
验证()
after.

查看此文件
illumb\Validation\Validator.php
我在项目根目录中找不到
illumb
目录。`vendor\laravel\framework\src`
Validator::make
为您提供了一个验证程序实例,该实例可以访问