/** * Attaches the upload handlers to the input object * * @param InputFilter $inputFilter */ protected function prepareUploadHandlers(InputFilter $inputFilter) { $uploadValidator = new \Sirius\Validation\ValueValidator($inputFilter->getValidator()->getRuleFactory(), $inputFilter->getValidator()->getErroMessagePrototype(), $this->getLabel()); // create the upload handler $uploadHandler = new Handler($this->getUploadContainer(), $this->getUploadOptions(), $uploadValidator); if (is_array($this->getUploadRules())) { foreach ($this->getUploadRules() as $rule) { if (!is_array($rule)) { $rule = array($rule); } $name = $rule[0]; $options = isset($rule[1]) ? $rule[1] : null; $message = isset($rule[2]) ? $rule[2] : null; $label = $this->getLabel(); $uploadHandler->addRule($name, $options, $message, $label); } } $inputFilter->setUploadHandler($inputFilter->getUploadPrefix() . $this->getName(), $uploadHandler); }
/** * Adds the element's validation rules to the validator object * * @param InputFilter $input * * @throws \InvalidArgumentException */ protected function prepareValidator(InputFilter $input) { $validationRules = $this->getValidationRules(); if (!$validationRules || !is_array($validationRules)) { return; } $validator = $input->getValidator(); foreach ($validationRules as $rule) { $params = (array) $rule; if (isset($params[0])) { $validator->add($this->getName(), $params[0], @$params[1], @$params[2], $this->getLabel()); } } }