Использовать функцию иногда () в классе запросов Laravel 5

В laravel 4 я использовал метод some sometimes() как показано ниже:

 $validator = \Validator::make( \Input::all(), array( 'name' => array('required'), 'recurrence' => array('required_if:recurring,on'), ) ); $validator->sometimes('recurrence', 'integer|min:1', function($input) { return $input->recurring == 'on'; }); 

Замечание integer|min:1 применяется для recurring только если recurrence представлена.

В laravel 5 я попытался выполнить проверку как класс запроса:

 class CreateProductRequest extends Request { public function authorize(){ return true; } public function rules(){ return [ 'name' => array('required'), 'recurrence' => array('required_if:recurring,on'), ]; } } 

Похоже, из класса запроса я не могу вызвать метод sometimes() . Идея состоит в том, чтобы избежать проверки кода проверки на контроллере.

Хорошо, я подражал ожидаемому поведению, используя обычное условие, не на 100% уверен, что погода – лучшая практика:

 $rules = [ 'name' => array('required'), 'recurrence' => array('required_if:recurring,on'), ]; if ($this->has('recurring')){ $rules['recurrence'] = $rules['recurrence'] + ['integer', 'min:1']; } return $rules;