/** * Validates a field value. * * @param Field $field * @param $value * * @return bool|string True if valid; otherwise string with invalid reason */ protected function validateFieldValue(Field $field, $value) { $standardValidation = $this->fieldHelper->validateFieldValue($field->getType(), $value); if (!empty($standardValidation)) { return $standardValidation; } $components = $this->formModel->getCustomComponents(); foreach ([$field->getType(), 'form'] as $type) { if (isset($components['validators'][$type])) { foreach ($components['validators'][$type] as $validator) { $event = $this->dispatcher->dispatch($validator['eventName'], new ValidationEvent($field, $value)); if (!$event->isValid()) { return $event->getInvalidReason(); } } } } return true; }
/** * {@inheritDoc} */ public function getType() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getType', array()); return parent::getType(); }