using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using NodePipeline.Abstractions.Interfaces; using NodePipeline.Abstractions.Interfaces.Validation; using NodePipeline.Abstractions.Models.Validation; namespace NodePipeline.Abstractions.Validators; public abstract class NodeValidatorBase(IPipelineLocalizationProvider localizer) : INodeValidator { protected readonly CultureInfo Culture = CultureInfo.CurrentCulture; protected readonly IPipelineLocalizationProvider Localizer = localizer; protected NodeValidationResult SuccessResult => new(ValidationResult.Valid, null, new ReadOnlyDictionary>( new Dictionary>()), new ReadOnlyDictionary>( new Dictionary>())); public abstract NodeValidationResult Validate(Dictionary nodeFields, IReadOnlyDictionary> fieldResults, Dictionary> portResults); }