diff options
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/SubTask.php | 55 |
1 files changed, 46 insertions, 9 deletions
diff --git a/app/Model/SubTask.php b/app/Model/SubTask.php index 011c58e7..a4fae764 100644 --- a/app/Model/SubTask.php +++ b/app/Model/SubTask.php @@ -221,28 +221,65 @@ class SubTask extends Base } /** - * Validate creation/modification + * Validate creation * * @access public * @param array $values Form values * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ - public function validate(array $values) + public function validateCreation(array $values) { - $v = new Validator($values, array( + $rules = array( new Validators\Required('task_id', t('The task id is required')), - new Validators\Integer('task_id', t('The task id must be an integer')), new Validators\Required('title', t('The title is required')), + ); + + $v = new Validator($values, $rules + $this->commonValidationRules()); + + return array( + $v->execute(), + $v->getErrors() + ); + } + + /** + * Validate modification + * + * @access public + * @param array $values Form values + * @return array $valid, $errors [0] = Success or not, [1] = List of errors + */ + public function validateModification(array $values) + { + $rules = array( + new Validators\Required('id', t('The subtask id is required')), + new Validators\Required('task_id', t('The task id is required')), + ); + + $v = new Validator($values, $rules + $this->commonValidationRules()); + + return array( + $v->execute(), + $v->getErrors() + ); + } + + /** + * Common validation rules + * + * @access private + * @return array + */ + private function commonValidationRules() + { + return array( + new Validators\Integer('id', t('The subtask id must be an integer')), + new Validators\Integer('task_id', t('The task id must be an integer')), new Validators\MaxLength('title', t('The maximum length is %d characters', 100), 100), new Validators\Integer('user_id', t('The user id must be an integer')), new Validators\Integer('status', t('The status must be an integer')), new Validators\Numeric('time_estimated', t('The time must be a numeric value')), new Validators\Numeric('time_spent', t('The time must be a numeric value')), - )); - - return array( - $v->execute(), - $v->getErrors() ); } } |