[Ivan] - Validations - Implement decorator pattern [skip ci]
This commit is contained in:
parent
6147fc260d
commit
407200878d
|
@ -4,6 +4,8 @@ require_once 'Validator.php';
|
||||||
class EmailValidator extends Validator {
|
class EmailValidator extends Validator {
|
||||||
|
|
||||||
public function validate($value, $fullData) {
|
public function validate($value, $fullData) {
|
||||||
|
parent::validate($value, $fullData);
|
||||||
|
|
||||||
if (strpos($value, '@') === false) {
|
if (strpos($value, '@') === false) {
|
||||||
Validator::throwException();
|
Validator::throwException();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ require_once 'Validator.php';
|
||||||
|
|
||||||
class PasswordValidator extends Validator {
|
class PasswordValidator extends Validator {
|
||||||
|
|
||||||
public function validate($value, $fullData) {
|
public function validate($value, $fullData = []) {
|
||||||
|
parent::validate($value, $fullData);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -6,9 +6,15 @@ class Validator {
|
||||||
throw new ValidationException($message);
|
throw new ValidationException($message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function validate($value) {
|
protected $baseValidator;
|
||||||
if (!$value) {
|
|
||||||
throw new ValidationException();
|
public function __construct(Validator $baseValidator = null) {
|
||||||
|
$this->baseValidator = $baseValidator;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function validate($value, $fullData = []) {
|
||||||
|
if ($this->baseValidator) {
|
||||||
|
$this->baseValidator->validate($value, $fullData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue