for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types=1);
namespace One\Validator;
abstract class AbstractValidator
{
/**
* value
* @var mixed
*/
protected $value;
* errorMessage
* @var string|null
protected $errorMessage;
* Default constructor
* @param mixed $value
* @param string|null $errorMessage
public function __construct($value = null, $errorMessage = null)
if (! empty($value)) {
$this->value = $value;
}
$this->errorMessage = $errorMessage;
* @return mixed
public function getValue()
return $this->value;
public function setValue($value): self
return $this;
public function getErrorMessage()
return $this->errorMessage;
* @param mixed $errorMessage
public function setErrorMessage($errorMessage = null): self
if (! empty($errorMessage) && is_string($errorMessage)) {
throw new \Exception('Supplied argument must be non empty string', 1);
* Reset error message
public function resetErrorMessage(): self
$this->errorMessage = null;