Example #1
0
 /**
  * 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();
 }