for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Siak\Tontine\Validation\Meeting;
use Illuminate\Support\Facades\Validator;
use Siak\Tontine\Service\LocaleService;
use Siak\Tontine\Validation\AbstractValidator;
use Siak\Tontine\Validation\Traits\ValidationTrait;
use Siak\Tontine\Validation\ValidationException;
class DebtValidator extends AbstractValidator
{
use ValidationTrait;
/**
* @param LocaleService $localeService
*/
public function __construct(private LocaleService $localeService)
{}
* @return array<string>
protected function amountFields(): array
return ['amount'];
}
* Validate partial refund data
*
* @param array $values
* @return array
public function validateItem(array $values): array
$validator = Validator::make($this->values($values), [
'debt' => 'required|integer|min:1',
'amount' => $this->amountRule(),
]);
if($validator->fails())
throw new ValidationException($validator);
$validated = $validator->validated();
$validated['amount'] = $this->localeService->convertMoneyToInt((float)$validated['amount']);
return $validated;
* @param string $debtId
public function validate(string $debtId): array
$values = [
'debt' => $debtId,
];
return $validator->validated();