Îðëà
Îáëàñòè
Êîìïàíèé
Ïîëüçîâàòåëè
Ãàëåðåÿ
Ôèêñèðîâàííûå íîâîñòè
Îðëà
Îòçûâû î ôèðìàõ
Òàðèôû
Ïîëüçîâàòåëè
Îáëàñòè
Áàíêîìàòû
Òîðãîâûå òî÷êè
Äîñêà îáúÿâëåíèé
Êóðñû âàëþò
Ñêèäêè
îðãàíèçàöèè Îðëà
îðãàíèçàöèè îáëàñòè
òîâàðû
ñàéòû
ñàéòû Îðåë
Äàííûå
Ðàçäåëû
Ïîèñê
Ïîèñê çàïðîñû
Ñòàòèñòèêà
Ïîêàçû êàòàëîãà îðãàíèçàöèé
Ñòàòèñòèêà êëèåíòû
Ïîëüçîâàòåëè
Ñàéòû
Óïðàâëåíèå ñàéòîì
Àíêåòà
Àïòåêè
Àôèøà
Àôèøà íîâàÿ
Áàííåðû
Áèçíåñ >
Âèêòîðèíà
Ãîëîñîâàíèå
Ãîñòü íà ñàéòå
Èñòîðèè
Êàëåíäàðü ñîáûòèé
Êàòàëîãè >
Êîíêóðñ êðàñîòû
Êîíêóðñ àóäèî
Êîíñóëüòàöèè
Ìåíþ
Íîâîå íà ñàéòå
Íîâîñòè >
Îðãàíèçàöèè >
Ïðîãðàììà ÒÂ
Ïóáëèêàöèè
Ðàçäåëû ñàéòà
Ðàññûëêà
Ðåñòîðàíû
Ñåêðåò ôèðìû >
Ñåðâèñû >
Ññûëêè
Òåñòû
Ôàéëîâûé ìåíåäæåð
Ôîðóì
Ôîòîãàëåðåÿ
Îáðàòíàÿ ñâÿçü
Íåäâèæèìîñòü
Íîâûé ãîä
Òåêñòû
Ïîëüçîâàòåëè
Þðèäè÷åñêèé ðåéòèíã
Îòçûâû íà òîâàðû
Áàí ïîëüçîâàòåëåé
Æàëîáû
Íîâûå òåñòû
Êîðîíàâèðóñ
Ôàéëîâûé ìåíåäæåð
Èìÿ ôàéëà
Form.php
Ñîäåðæèìîå
<?php namespace app\core\models; use app\core\models\validators\BaseValidator; abstract class Form { private $_errors = []; private $_rawData = []; public function __construct() { } public function load(array $data) { $this->_rawData = $data; foreach ($this->_rawData as $attribute => $value) { $this->$attribute = $value; } } public function getRawData($key = null) { if ($key == null) { return $this->_rawData; } if (isset($this->_rawData[$key])) { return $this->_rawData[$key]; } return null; } public function addError($attribute, $value) { $this->_errors[$attribute][] = $value; } public function addErrors(array $errors) { foreach ($errors as $attribute => $error) { $this->addError($attribute, $error); } } public function getErrors($attribute = null) { if ($attribute == null) { return $this->_errors; } if (isset($this->_errors[$attribute])) { return $this->_errors[$attribute]; } return []; } /** * Функци� возвращает �пи�ок ошибок не �группированных поп пол�м, * ```php * ['ошибка 1', 'ошибка 2', 'ошибка 3'] * ``` * @return array */ public function getErrorsArray() { $errors = $this->getErrors(); $transformErrors = []; foreach ($errors as $error) { foreach ($error as $errorItem) { $transformErrors[] = $errorItem; } } return $transformErrors; } public function hasErrors() { return count($this->_errors) > 0; } public function hasError($attribute) { return isset($this->_errors[$attribute]); } public function rules() { return []; } public function getValue($attribute, $defaultValue = null) { if (isset($this->_rawData[$attribute])) { return $this->_rawData[$attribute]; } return $defaultValue; } /** * Функци� провер�ет валидацию формы. * Дл� программи�тов: * Один $rule может �одержать в �ебе три �лемента: * 1) название пол�, которое мы провер�ем * 2) тип валидатора. Валидатор пред�тавл�ет �обой отдельный кла��, * который находит�� в app\validators * 3) поле message - �ообщение, е�ли валидаци� не прошла у�пешно. * Могут быть другие пол�, между вторым полем и 'message' их в �том �лучае необходимо передать */ public function validate() { foreach ($this->rules() as $rule) { $attribute = null; $validator = null; $params = []; $message = null; $i = 0; foreach ($rule as $key => $value) { // е�ли �то первый �лемент ма��ива, // То �то будет значение атрибута if ($i == 0) { if ($value !== null) { $attribute = $value; } else { $attribute = $key; } if (is_callable($value)) { $validator = $value; } } // е�ли �то второй атрибут ма��ива, то �то будет callable функци� или название валидатора if ($i == 1 && $validator == null) { $validator = $value; } // в�е по�ледующие �лементы ма��ива �то параметры if ($i > 1) { if ($key != 'message') { $params[$key] = $value; } else { $message = $value; } } $i = $i + 1; } if ($this->hasError($attribute)) { continue; } if ($attribute == null || $validator == null) { continue; } if (is_callable($validator)) { $result = call_user_func($validator, $this->$attribute); if ($result === false) { $this->addError($attribute, $message); } } else { // валидатор отдельный кла��. Ищем его. $validatorNamespace = 'app\core\models\validators\\' . ucfirst($validator).'Validator'; $class = new \ReflectionClass($validatorNamespace); $object = $class->newInstanceArgs($params); if ($object instanceof BaseValidator == false) { continue; } //--- $object->setAttribute($attribute); $object->setMessage($message); if (isset($this->$attribute)) { $object->setValue($this->$attribute); } if ($object->validate() == false) { $this->addError($attribute, $object->getMessage()); } } } return $this->hasErrors() == false; } }
/app/core/models/
Èìÿ
Äàòà
Ðàçìåð
..
2019-02-12
validators
2026-05-25
ActiveRecord.php
2023-09-07
10 êá.
ActiveRecord.php~
2016-12-23
10 êá.
BaseModel.php
2016-12-22
167 áàéò
Command.php
2016-12-22
199 áàéò
Expression.php
2016-12-22
329 áàéò
Form.php
2016-12-22
6 êá.
Mail.php
2016-12-22
762 áàéò
MySQLCommand.php
2019-01-31
1 êá.
NoInjection.php
2019-01-30
987 áàéò
QueryBuilder.php
2020-03-10
20 êá.
RelationAttribute.php
2016-12-22
5 êá.
SqlModel.php
2016-11-24
98 áàéò
WhereConditionHelper.php
2019-01-30
813 áàéò
/app/core/models
Çàãðóçèòü ôàéëû
Ôàéë 1
Ôàéë 2
Ôàéë 3