input(); $invoice = Invoice::scope($input['invoice'])->firstOrFail(); $rules = array( 'client' => 'required', 'invoice' => 'required', 'amount' => "required|less_than:{$invoice->balance}|positive", ); if ($input['payment_type_id'] == PAYMENT_TYPE_CREDIT) { $rules['payment_type_id'] = 'has_credit:'.$input['client'].','.$input['amount']; } return $rules; } }