Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 011e0cd9b8 | |||
| a7531432d4 | |||
| 76bd050ada | |||
| 0e6a1b5ba2 | |||
| 10aa70eb03 | |||
| b80833691e | |||
| 4ac84b3edf | |||
| 8e8bd0bd43 | |||
| a1c7907146 |
@@ -66,12 +66,12 @@ abstract class BaseValidator
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
* @return bool
|
||||
* @throws Exception
|
||||
*/
|
||||
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
|
||||
*/
|
||||
public function setParams(array $data): static
|
||||
public function setParams(?array $data): static
|
||||
{
|
||||
if (is_null($data)) {
|
||||
$data = [];
|
||||
}
|
||||
$this->params = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -20,10 +20,7 @@ class RequiredValidator extends BaseValidator
|
||||
public function trigger(): bool
|
||||
{
|
||||
$param = $this->getParams();
|
||||
if (is_numeric($param)) {
|
||||
return true;
|
||||
}
|
||||
if (empty($param) || !isset($param[$this->field])) {
|
||||
if (!is_array($param) || !isset($param[$this->field])) {
|
||||
return $this->addError('The param :attribute not exists');
|
||||
} else {
|
||||
return true;
|
||||
|
||||
@@ -30,7 +30,7 @@ class UniqueValidator extends BaseValidator
|
||||
}
|
||||
|
||||
$model = $this->model;
|
||||
if (!$this->model->getIsCreate()) {
|
||||
if (!$this->model->getIsNowExample()) {
|
||||
return true;
|
||||
}
|
||||
if ($model::query()->where([$this->field => $param[$this->field]])->exists()) {
|
||||
|
||||
+6
-6
@@ -186,16 +186,16 @@ class Validator extends BaseValidator
|
||||
return true;
|
||||
}
|
||||
foreach ($this->validators as $val) {
|
||||
if ($this->check($val)) {
|
||||
[$result, $validator] = $this->check($val);
|
||||
if ($result === true) {
|
||||
continue;
|
||||
}
|
||||
$isTrue = false;
|
||||
if ($val instanceof BaseValidator) {
|
||||
$this->addError($val->getError());
|
||||
if ($validator instanceof BaseValidator) {
|
||||
$this->addError($validator->getError());
|
||||
}
|
||||
break;
|
||||
}
|
||||
$this->validators = null;
|
||||
$this->validators = [];
|
||||
return !isset($isTrue);
|
||||
}
|
||||
@@ -208,7 +208,7 @@ class Validator extends BaseValidator
|
||||
private function check(BaseValidator|array|Closure $val): mixed
|
||||
{
|
||||
if (is_callable($val, true)) {
|
||||
return call_user_func($val, $this);
|
||||
return [call_user_func($val, $this), $val];
|
||||
}
|
||||
|
||||
$class = Kiri::getDi()->get($val['class']);
|
||||
@@ -216,7 +216,7 @@ class Validator extends BaseValidator
|
||||
|
||||
Kiri::configure($class, $val);
|
||||
|
||||
return $class->trigger();
|
||||
return [$class->trigger(), $class];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user