private function validate($values, &$errors) { $statuses = TodoActiveRecord::statusLabels(); $priorities = TodoActiveRecord::priorityLabels(); if (!isset($values['text']) || empty($values['text'])) { $errors['text'] = 'Text required'; } if (!isset($values['status']) || $values['status'] === null || $values['status'] === '') { $errors['status'] = 'Status required'; } elseif (!isset($statuses[$values['status']])) { $errors['status'] = "Unknown status {$values['status']}."; } if (!isset($values['priority']) || $values['priority'] === null || $values['priority'] === '') { $errors['priority'] = 'Priority required'; } elseif (!isset($priorities[$values['priority']])) { $errors['priority'] = "Unknown priority {$values['priority']}."; } return count($errors) == 0; }
<?php /* @var $this \memclutter\PhpTodo\Template */ /* @var $caption string */ /* @var $item \memclutter\PhpTodo\Todo|null */ /* @var $values array */ /* @var $errors array */ use memclutter\PhpTodo\Todo; $statusLabels = Todo::statusLabels(); $priorityLabels = Todo::priorityLabels(); $values['text'] = isset($values['text']) ? $values['text'] : ($item ? $item->text : null); $values['status'] = isset($values['status']) ? $values['status'] : ($item ? $item->status : null); $values['priority'] = isset($values['priority']) ? $values['priority'] : ($item ? $item->priority : null); $errors['text'] = isset($errors['text']) ? "<span class=\"text-danger\">{$errors['text']}</span>" : ''; $errors['status'] = isset($errors['status']) ? "<span class=\"text-danger\">{$errors['status']}</span>" : ''; $errors['priority'] = isset($errors['priority']) ? "<span class=\"text-danger\">{$errors['priority']}</span>" : ''; $hasClass['text'] = !empty($errors['text']) ? ' has-error' : ($values['text'] !== null ? ' has-success' : ''); $hasClass['status'] = !empty($errors['status']) ? ' has-error' : ($values['status'] !== null ? ' has-success' : ''); $hasClass['priority'] = !empty($errors['priority']) ? ' has-error' : ($values['priority'] !== null ? ' has-success' : ''); ?> <div class="panel panel-success"> <div class="panel-heading"><?php echo $caption; ?> </div> <div class="panel-body"> <form role="form" class="form-horizontal" method="post"> <?php if ($item) { ?> <input type="hidden" name="id" value="<?php