for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Siak\Tontine\Validation;
use function array_map;
use function is_string;
use function trim;
abstract class AbstractValidator
{
/**
* Process input values before validation
*
* @param array $values
* @return array
*/
protected function values(array $values): array
return array_map(function($value) {
if(!is_string($value))
return $value;
}
// Replace empty values with null.
$value = trim($value);
return $value !== '' ? $value : null;
}, $values);
abstract public function validateItem(array $values): array;
public function validateList(array $values): array
return $this->validateItem($value);