|
<?php |
|
|
|
namespace Kanboard\Validator; |
|
|
|
use SimpleValidator\Validator; |
|
use SimpleValidator\Validators; |
|
use Kanboard\Model\TaskModel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TaskLinkValidator extends BaseValidator |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
private function commonValidationRules() |
|
{ |
|
return array( |
|
new Validators\Required('task_id', t('Field required')), |
|
new Validators\Required('opposite_task_id', t('Field required')), |
|
new Validators\Required('link_id', t('Field required')), |
|
new Validators\NotEquals('opposite_task_id', 'task_id', t('A task cannot be linked to itself')), |
|
new Validators\Exists('opposite_task_id', t('This linked task id doesn\'t exists'), $this->db->getConnection(), TaskModel::TABLE, 'id') |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function validateCreation(array $values) |
|
{ |
|
$v = new Validator($values, $this->commonValidationRules()); |
|
|
|
return array( |
|
$v->execute(), |
|
$v->getErrors() |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function validateModification(array $values) |
|
{ |
|
$rules = array( |
|
new Validators\Required('id', t('Field required')), |
|
); |
|
|
|
$v = new Validator($values, array_merge($rules, $this->commonValidationRules())); |
|
|
|
return array( |
|
$v->execute(), |
|
$v->getErrors() |
|
); |
|
} |
|
} |
|
|