summaryrefslogtreecommitdiff
path: root/app/Model/Category.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/Category.php')
-rw-r--r--app/Model/Category.php32
1 files changed, 23 insertions, 9 deletions
diff --git a/app/Model/Category.php b/app/Model/Category.php
index db26ebca..fb54594b 100644
--- a/app/Model/Category.php
+++ b/app/Model/Category.php
@@ -173,12 +173,12 @@ class Category extends Base
*/
public function validateCreation(array $values)
{
- $v = new Validator($values, array(
+ $rules = array(
new Validators\Required('project_id', t('The project id is required')),
- new Validators\Integer('project_id', t('The project id must be an integer')),
new Validators\Required('name', t('The name is required')),
- new Validators\MaxLength('name', t('The maximum length is %d characters', 50), 50)
- ));
+ );
+
+ $v = new Validator($values, array_merge($rules, $this->commonValidationRules()));
return array(
$v->execute(),
@@ -195,17 +195,31 @@ class Category extends Base
*/
public function validateModification(array $values)
{
- $v = new Validator($values, array(
+ $rules = array(
new Validators\Required('id', t('The id is required')),
- new Validators\Integer('id', t('The id must be an integer')),
- new Validators\Integer('project_id', t('The project id must be an integer')),
new Validators\Required('name', t('The name is required')),
- new Validators\MaxLength('name', t('The maximum length is %d characters', 50), 50)
- ));
+ );
+
+ $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('The id must be an integer')),
+ new Validators\Integer('project_id', t('The project id must be an integer')),
+ new Validators\MaxLength('name', t('The maximum length is %d characters', 50), 50)
+ );
+ }
}