public function validate(ValidationItem $validationItem) { if ($validationItem->getElement() instanceof Validatable) { $validationItem->getElement()->checkValidity($validationItem); } else { throw new Exception('Element is not validatable. It must be an instance of UForm\\Form\\Element\\Validatable'); } }
/** * Adds a validationItem to the internal validation list * @param ValidationItem $validation */ public function addValidation(ValidationItem $validation) { $el = $validation->getElement(); $name = $el->getName(); $internalName = $el->getInternalName(true); if (null !== $name) { $this->validationsName[$el->getName(true, true)] = $internalName; } $this->validationsInternalName[$internalName] = $validation; }
/** * @inheritdoc */ public function validate(ValidationItem $validationItem) { $value1 = $validationItem->getValue(); $value2 = $validationItem->findValue($this->sameElement); if ($value2 !== $value1) { $message = new Validation\Message('Fields %_tested-field_% and %_compare-field_% have different values', ['tested-field' => $validationItem->getElement()->getName(true, true), 'compare-field' => $this->sameElement], self::DIFFERENT); $validationItem->appendMessage($message); $validationItem->setInvalid(); } }
/** * @inheritdoc */ public function validate(ValidationItem $validationItem) { $value = $validationItem->getLocalData()->getDataCopy(); $element = $validationItem->getElement(); if ($element instanceof Requirable) { $valid = $element->isDefined($validationItem); } else { $valid = is_array($value) && isset($value[$validationItem->getLocalName()]) && null !== $value[$validationItem->getLocalName()]; } if (!$valid) { $message = new Validation\Message('Field is required', [], self::REQUIRED); $validationItem->appendMessage($message); $validationItem->setInvalid(); } return true; }
public function __construct(ValidationItem $inputValidation, ValidationItem $ouputValidation) { parent::__construct($inputValidation->getLocalData(), $inputValidation->getElement(), $inputValidation->getFormContext()); $this->bridgeOutput = $ouputValidation; }