/** * Init checking form * @param $fields * @return $this */ protected function formInit($fields) { $initialValues = array_map(function ($element) { return ['message' => '', 'valid' => true, 'name' => $element]; }, $fields); self::$formFieldsError = array_combine($fields, $initialValues); if (!empty($absence = array_diff($fields, array_keys($_POST)))) { array_walk($absence, function ($item) { $this->setFieldError($item, 'The field "' . ucfirst($item) . '" is required'); }, $this); } $this->post = array_map(function ($element) { return trim($element); }, $_POST); return $this; }