<?php namespace Kanboard\Validator; use SimpleValidator\Validator; use SimpleValidator\Validators; /** * Comment Validator * * @package Kanboard\Validator * @author Frederic Guillot */ class CommentValidator extends BaseValidator { /** * Validate comment email creation * * @access public * @param array $values Required parameters to save an action * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ public function validateEmailCreation(array $values) { $rules = array( new Validators\Required('task_id', t('This value is required')), new Validators\Required('user_id', t('This value is required')), new Validators\Required('subject', t('This field is required')), new Validators\Required('emails', t('This field is required')), ); $v = new Validator($values, array_merge($rules, $this->commonValidationRules())); return array( $v->execute(), $v->getErrors() ); } /** * Validate comment creation * * @access public * @param array $values Required parameters to save an action * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ public function validateCreation(array $values) { $rules = array( new Validators\Required('task_id', t('This value is required')), ); $v = new Validator($values, array_merge($rules, $this->commonValidationRules())); return array( $v->execute(), $v->getErrors() ); } /** * Validate comment modification * * @access public * @param array $values Required parameters to save an action * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ public function validateModification(array $values) { $rules = array( new Validators\Required('id', t('This value 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\MaxLength('reference', t('The maximum length is %d characters', 191), 191), new Validators\Required('comment', t('Comment is required')) ); } }