9 Commits

Author SHA1 Message Date
as2252258 a7531432d4 改名 2021-12-07 16:43:19 +08:00
as2252258 76bd050ada 改名 2021-12-02 16:34:14 +08:00
as2252258 0e6a1b5ba2 改名 2021-12-02 16:33:46 +08:00
as2252258 10aa70eb03 改名 2021-12-02 16:31:41 +08:00
as2252258 b80833691e 改名 2021-12-02 16:29:54 +08:00
as2252258 4ac84b3edf 改名 2021-12-02 16:28:14 +08:00
as2252258 8e8bd0bd43 改名 2021-11-10 11:27:38 +08:00
as2252258 a1c7907146 改名 2021-11-10 11:25:18 +08:00
as2252258 3b15bc5e27 update composer.json. 2021-11-05 07:21:51 +00:00
5 changed files with 16 additions and 15 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"name": "game-worker/validator", "name": "game-worker/kiri-validator",
"description": "db", "description": "db",
"authors": [ "authors": [
{ {
+7 -4
View File
@@ -66,12 +66,12 @@ abstract class BaseValidator
} }
/** /**
* @throws Exception
* @return bool * @return bool
* @throws Exception
*/ */
public function trigger(): bool public function trigger(): bool
{ {
throw new Exception('Child Class must define method of trigger'); throw new Exception('Child Class must define method of trigger');
} }
/** /**
@@ -83,11 +83,14 @@ abstract class BaseValidator
} }
/** /**
* @param array $data * @param array|null $data
* @return $this * @return $this
*/ */
public function setParams(array $data): static public function setParams(?array $data): static
{ {
if (is_null($data)) {
$data = [];
}
$this->params = $data; $this->params = $data;
return $this; return $this;
} }
+1 -4
View File
@@ -20,10 +20,7 @@ class RequiredValidator extends BaseValidator
public function trigger(): bool public function trigger(): bool
{ {
$param = $this->getParams(); $param = $this->getParams();
if (is_numeric($param)) { if (!is_array($param) || !isset($param[$this->field])) {
return true;
}
if (empty($param) || !isset($param[$this->field])) {
return $this->addError('The param :attribute not exists'); return $this->addError('The param :attribute not exists');
} else { } else {
return true; return true;
+1 -1
View File
@@ -30,7 +30,7 @@ class UniqueValidator extends BaseValidator
} }
$model = $this->model; $model = $this->model;
if (!$this->model->getIsCreate()) { if (!$this->model->getIsNowExample()) {
return true; return true;
} }
if ($model::query()->where([$this->field => $param[$this->field]])->exists()) { if ($model::query()->where([$this->field => $param[$this->field]])->exists()) {
+6 -5
View File
@@ -186,12 +186,13 @@ class Validator extends BaseValidator
return true; return true;
} }
foreach ($this->validators as $val) { foreach ($this->validators as $val) {
if ($this->check($val)) { [$result, $validator] = $this->check($val);
if ($result === true) {
continue; continue;
} }
$isTrue = false; $isTrue = false;
if ($val instanceof BaseValidator) { if ($validator instanceof BaseValidator) {
$this->addError($val->getError()); $this->addError($validator->getError());
} }
break; break;
} }
@@ -208,7 +209,7 @@ class Validator extends BaseValidator
private function check(BaseValidator|array|Closure $val): mixed private function check(BaseValidator|array|Closure $val): mixed
{ {
if (is_callable($val, true)) { if (is_callable($val, true)) {
return call_user_func($val, $this); return [call_user_func($val, $this), $val];
} }
$class = Kiri::getDi()->get($val['class']); $class = Kiri::getDi()->get($val['class']);
@@ -216,7 +217,7 @@ class Validator extends BaseValidator
Kiri::configure($class, $val); Kiri::configure($class, $val);
return $class->trigger(); return [$class->trigger(), $class];
} }
} }