public function validate() { if (parent::validate()) { if (!$this->date_start) { $this->datetime_start = null; } else { $this->datetime_start = date('Y-m-d', strtotime($this->date_start)); $timestart = $this->time_start != '' ? date('H:i:s', strtotime($this->time_start)) : '00:00:00'; $this->datetime_start .= ' ' . $timestart; } if (!$this->date_end) { $this->datetime_end = null; } else { $this->datetime_end = date('Y-m-d', strtotime($this->date_end)); $timeend = $this->time_end != '' ? date('H:i:s', strtotime($this->time_end)) : '00:00:00'; $this->datetime_end .= ' ' . $timeend; } if ($this->datetime_start !== null && $this->datetime_end !== null) { $timestampStart = strtotime($this->datetime_start); $timestampEnd = strtotime($this->datetime_end); if ($timestampStart > 0 && $timestampEnd > 0 && $timestampEnd <= $timestampStart) { $this->addError('date_end', 'Дата и время окончания срока действия промо-кода должны быть больше, чем дата его начала'); } } } return !$this->hasErrors(); }
public function validate() { if (!($this->_year >= 1900 && $this->_year <= 2050)) { $this->addError('date', 'Данный год не поддерживается системой'); } return parent::validate(); }
public function validate() { if (parent::validate()) { foreach ($this->data as $variable => $condition) { if ($variable != 'A' && $condition['operation'] == '') { $this->addError('data', 'Не выбрана операция в условии ' . $variable); } if (empty($condition['attribute'])) { $this->addError('data', 'Не выбран атрибут в условии ' . $variable); } } // Проверка уникальности введенных данных if (($result = $this->isResultExists($this)) !== null) { $this->addError('data', 'Такой Результат (ID ' . $result->code . ') существует, введите другие параметры'); } } return !$this->hasErrors(); }
public function validate() { if (parent::validate()) { // Проходим по списку ответов foreach ($this->poll->questions as $question) { $validateResult = true; switch ($question->type) { case Question::TYPE_VARIANT: $validateResult = !($question->required && $this->getAnswerValue($question) == null); break; case Question::TYPE_MULTIPLE: $validateResult = !($question->required && $this->getAnswerValue($question) == null); break; default: $validateResult = !($question->required && $this->getAnswerValue($question) == ''); break; } if (!$validateResult) { $this->addError('question_' . $question->id, "Вы не ответили на вопрос"); } } } return !$this->hasErrors(); }
public function validate($attributes = null, $clearErrors = true) { if (!$this->eavEnable) { return parent::validate($attributes, $clearErrors); } if ($clearErrors) { $this->clearErrors(); } $separatedAttributes = $this->separateAttributes($attributes); $modelAttributes = isset($separatedAttributes['attributes']) ? $separatedAttributes['attributes'] : null; $eavAttributes = isset($separatedAttributes['eavAttributes']) ? $separatedAttributes['eavAttributes'] : null; if ($this->beforeValidate()) { foreach ($this->getValidators() as $validator) { $validator->validate($this, $modelAttributes); } $this->validateEavAttribute($eavAttributes); $this->afterValidate(); return !$this->hasErrors(); } else { return false; } }