<?php namespace Kanboard\Validator; use SimpleValidator\Validator; use SimpleValidator\Validators; /** * Category Validator * * @package Kanboard\Validator * @author Frederic Guillot */ class CategoryValidator extends BaseValidator { /** * 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) ); } }