From c3a0cf43430438bfe7e7b0ccccfadb72a74331d6 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Fri, 12 Sep 2014 15:57:05 +0200 Subject: Remove some code duplication (validation rules) --- app/Model/Comment.php | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'app/Model/Comment.php') diff --git a/app/Model/Comment.php b/app/Model/Comment.php index 43c275bc..cd361b1d 100644 --- a/app/Model/Comment.php +++ b/app/Model/Comment.php @@ -155,13 +155,12 @@ class Comment extends Base */ public function validateCreation(array $values) { - $v = new Validator($values, array( - new Validators\Required('task_id', t('This value is required')), - new Validators\Integer('task_id', t('This value must be an integer')), + $rules = array( new Validators\Required('user_id', t('This value is required')), - new Validators\Integer('user_id', t('This value must be an integer')), - new Validators\Required('comment', t('Comment is required')) - )); + new Validators\Required('task_id', t('This value is required')), + ); + + $v = new Validator($values, array_merge($rules, $this->commonValidationRules())); return array( $v->execute(), @@ -178,15 +177,31 @@ class Comment extends Base */ public function validateModification(array $values) { - $v = new Validator($values, array( + $rules = array( new Validators\Required('id', t('This value is required')), - new Validators\Integer('id', t('This value must be an integer')), - new Validators\Required('comment', t('Comment is required')) - )); + ); + + $v = new Validator($values, array_merge($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('This value must be an integer')), + new Validators\Integer('task_id', t('This value must be an integer')), + new Validators\Integer('user_id', t('This value must be an integer')), + new Validators\Required('comment', t('Comment is required')) + ); + } } -- cgit v1.2.3