diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-01-14 20:18:13 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-01-14 20:18:13 -0500 |
commit | 805be7d33155478ef32c4bd3643dcf4025d85a05 (patch) | |
tree | 4ee858d96f3e3bf2b630471db148446c3c56b693 /app/Validator/CategoryValidator.php | |
parent | dc35a78374e9b091505cfc56eefcd0c631c56e3a (diff) |
Move validator methods
Diffstat (limited to 'app/Validator/CategoryValidator.php')
-rw-r--r-- | app/Validator/CategoryValidator.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/app/Validator/CategoryValidator.php b/app/Validator/CategoryValidator.php new file mode 100644 index 00000000..715aed66 --- /dev/null +++ b/app/Validator/CategoryValidator.php @@ -0,0 +1,74 @@ +<?php + +namespace Kanboard\Validator; + +use SimpleValidator\Validator; +use SimpleValidator\Validators; + +/** + * Category Validator + * + * @package validator + * @author Frederic Guillot + */ +class CategoryValidator extends Base +{ + /** + * Validate category creation + * + * @access public + * @param array $values Form values + * @return array $valid, $errors [0] = Success or not, [1] = List of errors + */ + public function validateCreation(array $values) + { + $rules = array( + new Validators\Required('project_id', t('The project id is required')), + new Validators\Required('name', t('The name is required')), + ); + + $v = new Validator($values, array_merge($rules, $this->commonValidationRules())); + + return array( + $v->execute(), + $v->getErrors() + ); + } + + /** + * Validate category 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 id is required')), + new Validators\Required('name', t('The name 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('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) + ); + } +} |