AppServiceProvider (хотя под такие штуки я завожу отдельный ValidatorServiceProvider) в методе boot.
Насколько я понял, то надо сначала проверить resource_id, а затем first_payment.
Идея понятна, реализация за Вами.
\Validator::extend('your_rule_name', function ($attr, $value, $params, \Illuminate\Validation\Validator $validator) {
// request data
$data = $validator->getData();
if (array_get($data, 'resource_id') === 154) {
return $value >= 0 && $value <= 60;
}
if (array_get($data, 'first_payment') !== 100) {
return $value >= 0 && $value <= 12;
}
return false;
});