public function runValidators($value)
    {
        if (empty($value)) {
            return;
        }

        // collect all validation errors for this field
        $validationErrors = [];
        foreach ($this->getFieldValidators() as $validator) {
            try {
                $validator($value);
            } catch (ValidationError $error) {
                $validationErrors = array_merge($validationErrors, $error->getErrorList());
            }
        }

        if (!empty($validationErrors)) {
            throw new ValidationError($validationErrors);
        }
    }