using FluentValidation; namespace AipGateway.API.Domain.Common.Extensions { public static class FluentValidationExtensions { public static IRuleBuilderOptions ValidateBoolProperty(this IRuleBuilder ruleBuilder) { return ruleBuilder.NotNull().WithMessage($"{nameof(TProperty)} Permission is required"); } public static IRuleBuilderOptions ValidateNotNull(this IRuleBuilder ruleBuilder) { return ruleBuilder.NotNull().WithMessage($"{nameof(TProperty)} is required"); } public static IRuleBuilderOptions ValidateProperty(this IRuleBuilder ruleBuilder) { return ruleBuilder.NotEmpty().NotNull().WithMessage($"{nameof(TProperty)} is required"); } public static IRuleBuilderOptions ValidateEnumProperty(this IRuleBuilder ruleBuilder) { return ruleBuilder.ValidateProperty().IsInEnum().WithMessage($"{nameof(TProperty)} is invalid"); } public static IRuleBuilderOptions ValidateNotNullEnum(this IRuleBuilder ruleBuilder) { return ruleBuilder.ValidateNotNull().IsInEnum().WithMessage($"{nameof(TProperty)} is invalid"); } } }