docs不清楚是否可以在控制器方法内的任何位置使用sometimes
方法而不是内联声明。对于具有大量字段的表单,将其解耦为FormRequest
是有意义的。但我不确定是否可以在这里使用sometimes
。有谁知道它是否可能或如何?
或许将$this->sometimes(...args);
添加到__construct()
方法?
到目前为止我所能想到的就是这样:
public function __construct()
{
$this->getValidatorInstance()->sometimes(['email', 'phone'], 'required', function ($input) {
return true; // arbitrary logic here
});
}
但我收到错误:exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function make() on null' in <project_root>/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:77
与Container
接口有关。
答案 0 :(得分:0)
当然你可以:
public function rules()
{
return [
'email' => 'sometimes|email',
];
}