是否可以在FormRequest类中使用“有时”Validator方法?

时间:2016-10-27 15:19:37

标签: laravel laravel-5.3

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:77Container接口有关。

1 个答案:

答案 0 :(得分:0)

当然你可以:

public function rules()
{
    return [
        'email' => 'sometimes|email',
    ];
}