src/classes/Slion/Meta/Base.php
public function confirm() {
        foreach ($this->getDefault() as $name => $default) {
            if ($this->$name === null && $default === null) {
                $default_method = "_default_$name";
                if (method_exists($this, $default_method)) {
                    $this->$name = $this->$default_method();
                } else {
                    throw new \InvalidArgumentException("meta:" . get_called_class() . " field [$name] could not be empty");
                }
            }

            $method = "_confirm_$name";
            if (method_exists($this, $method)) {
                $this->$name = $this->$method($this->$name);
            }

            if (is_object($this->$name)) {
                $object = $this->$name;
                ($object instanceof self) && $object->confirm();
            }
        }

        // 整体confirm勾子
        $this->_confirm();
        return $this;
    }
public function confirm() {
        foreach ($this->getDefault() as $name => $default) {
            if ($this->$name === null && $default === null) {
                $default_method = "_default_$name";
                if (method_exists($this, $default_method)) {
                    $this->$name = $this->$default_method();
                } else {
                    throw new \InvalidArgumentException("meta:" . get_called_class() . " field [$name] could not be empty");
                }
            }

            $method = "_confirm_$name";
            if (method_exists($this, $method)) {
                $this->$name = $this->$method($this->$name);
            }

            if (is_object($this->$name)) {
                $object = $this->$name;
                ($object instanceof self) && $object->confirm();
            }
        }

        // 整体confirm勾子
        $this->_confirm();
        return $this;
    }
确认数据
@throws \UnexpectedValueException