diff --git a/BaseValidator.php b/BaseValidator.php index b1ade6b..e83015b 100644 --- a/BaseValidator.php +++ b/BaseValidator.php @@ -83,14 +83,11 @@ abstract class BaseValidator } /** - * @param array|null $data + * @param array $data * @return $this */ - public function setParams(?array $data): static + public function setParams(array $data): static { - if (is_null($data)) { - $data = []; - } $this->params = $data; return $this; } diff --git a/Validator.php b/Validator.php index 8c7c78d..c3343e1 100644 --- a/Validator.php +++ b/Validator.php @@ -6,6 +6,7 @@ namespace validator; use Closure; +use Database\ModelInterface; use Exception; use Kiri; @@ -118,6 +119,22 @@ class Validator extends BaseValidator return static::$instance; } + + /** + * @param array $params + * @param ModelInterface $model + * @return Validator + */ + public static function instance(array $params, ModelInterface $model): static + { + if (static::$instance == null) { + static::$instance = new Validator(); + } + static::$instance->setParams($params); + static::$instance->setModel($model); + return static::$instance; + } + /** * @param $field * @param $rules