NodePipeline/NodePipeline.Application/ExtensionValidator.cs
2026-01-02 20:55:25 +03:00

22 lines
851 B
C#

using System.Text.RegularExpressions;
using NodePipeline.Abstractions.Interfaces;
using NodePipeline.Abstractions.Interfaces.Nodes;
using NodePipeline.Abstractions.Models.Validation;
using NodePipeline.Abstractions.Validators;
namespace NodePipeline.Application;
public partial class ExtensionValidator(IPipelineLocalizationProvider localizer)
: NodeFieldValidatorBase<string>(localizer)
{
public override NodeFieldValidationResult Validate(INodeField<string> nodeField)
{
return ExtensionRegex().IsMatch(nodeField.Value)
? SuccessResult
: new NodeFieldValidationResult(ValidationResult.HasErrors,
Localizer.GetLocalizedString("Extension", Culture, nodeField.Value, ExtensionRegex().ToString()));
}
[GeneratedRegex("^\\.?.+$")]
private static partial Regex ExtensionRegex();
}