rap*_*2-h 8 php laravel laravel-5 laravel-validation laravel-5.5
引用Laravel文档:
默认情况下,Laravel的基本控制器类使用ValidatesRequests特性,该特性提供了一种方便的方法来使用各种强大的验证规则来验证传入的HTTP请求
的确,阅读代码App\Http\Controllers\Controller
实际上使用了ValidatesRequests
特征。并ValidatesRequests
有一种validate
方法。
我真正感到奇怪的是,文档中的其他所有地方,该validate
方法都是在$request
对象上调用的。它以这种方式工作。我可以使用以下代码验证表单:
public function store()
{
$attributes = request()->validate([
'name' => 'required|string|max:255',
]);
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是我看不到Request类上存在任何validate方法。文件开头只是一个奇怪的注释行:
/**
* @method array validate(array $rules, array $messages = [], array $customAttributes = [])
*/
Run Code Online (Sandbox Code Playgroud)
因此,有两件事:
$request
对象上进行。我的实际问题是:
如果我validate
通过$request
对象使用方法,从文档粘贴的初始引号是否仍然正确?如果是这样,它如何运作?
我相信从FoundationServiceProvider.php 中的调用中Request
获取其validate
功能。有关宏的更多信息,请参阅此文章。Request::macro('validate', ...)
归档时间: |
|
查看次数: |
1124 次 |
最近记录: |