diff --git a/Base/Model.php b/Base/Model.php index 7bd0a84..025b468 100644 --- a/Base/Model.php +++ b/Base/Model.php @@ -476,7 +476,7 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, \ */ public function save(): static|bool { - if (!$this->validator($this->rules()) || !$this->beforeSave($this)) { + if (!$this->validator($this->rules(), $this->_attributes) || !$this->beforeSave($this)) { return FALSE; } if (!$this->isNewExample) { @@ -537,13 +537,13 @@ abstract class Model extends Component implements ModelInterface, ArrayAccess, \ * @return bool * @throws */ - public function validator(array $rule): bool + public function validator(array $rule, array $params): bool { if (count($rule) < 1 || $this->skipValidate) { return TRUE; } $validate = $this->resolve($rule); - if (!$validate->validation($this)) { + if (!$validate->validation($params)) { return \Kiri::getLogger()->failure($validate->getError() . PHP_EOL, 'mysql'); } else { return TRUE; diff --git a/Model.php b/Model.php index feb8dfb..2cc0f41 100644 --- a/Model.php +++ b/Model.php @@ -191,7 +191,7 @@ class Model extends Base\Model */ public function update(array $params): static|bool { - if (!$this->validator($this->rules()) || !$this->beforeSave($this)) { + if (!$this->validator($this->rules(), $params) || !$this->beforeSave($this)) { return FALSE; } return $this->updateInternal(...$this->arrayIntersect($params));