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\ValidationException;
class TargetValidator extends AbstractValidator
{
/**
* @var LocaleService
*/
protected LocaleService $localeService;
* @param LocaleService $localeService
public function __construct(LocaleService $localeService)
$this->localeService = $localeService;
}
* Validate settlement target data
*
* @param array $values
* @return array
public function validateItem(array $values): array
$validator = Validator::make($this->values($values), [
'global' => 'required|boolean',
'amount' => 'required|regex:/^\d+(\.\d{1,2})?$/',
'deadline' => 'required|integer|min:1',
]);
if($validator->fails())
throw new ValidationException($validator);
$validated = $validator->validated();
$validated['amount'] = $this->localeService->convertMoneyToInt((float)$validated['amount']);
return $validated;