dbObject::validate PHP Méthode

validate() private méthode

private validate ( array $data )
$data array
    private function validate($data)
    {
        if (!$this->dbFields) {
            return true;
        }
        foreach ($this->dbFields as $key => $desc) {
            $type = null;
            $required = false;
            if (isset($data[$key])) {
                $value = $data[$key];
            } else {
                $value = null;
            }
            if (is_array($value)) {
                continue;
            }
            if (isset($desc[0])) {
                $type = $desc[0];
            }
            if (isset($desc[1]) && $desc[1] == 'required') {
                $required = true;
            }
            if ($required && strlen($value) == 0) {
                $this->errors[] = array($this->dbTable . "." . $key => "is required");
                continue;
            }
            if ($value == null) {
                continue;
            }
            switch ($type) {
                case "text":
                    $regexp = null;
                    break;
                case "int":
                    $regexp = "/^[0-9]*\$/";
                    break;
                case "double":
                    $regexp = "/^[0-9\\.]*\$/";
                    break;
                case "bool":
                    $regexp = '/^[yes|no|0|1|true|false]$/i';
                    break;
                case "datetime":
                    $regexp = "/^[0-9a-zA-Z -:]*\$/";
                    break;
                default:
                    $regexp = $type;
                    break;
            }
            if (!$regexp) {
                continue;
            }
            if (!preg_match($regexp, $value)) {
                $this->errors[] = array($this->dbTable . "." . $key => "{$type} validation failed");
                continue;
            }
        }
        return !count($this->errors) > 0;
    }