NodePipeline/NodePipeline.Abstractions/Validators/NodeValidatorBase.cs
2026-01-02 20:55:25 +03:00

25 lines
1.2 KiB
C#

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<string, List<NodeFieldValidationResult>>(
new Dictionary<string, List<NodeFieldValidationResult>>()),
new ReadOnlyDictionary<string, List<NodeFieldValidationResult>>(
new Dictionary<string, List<NodeFieldValidationResult>>()));
public abstract NodeValidationResult Validate(Dictionary<string, object> nodeFields,
IReadOnlyDictionary<string, List<NodeFieldValidationResult>> fieldResults,
Dictionary<string, List<NodeFieldValidationResult>> portResults);
}