🧱 تنظیم پایهها (Setting Up the Foundation)
اول، پکیج FluentValidation را به پروژه اضافه میکنیم:
Install-Package FluentValidation # پکیج اصلی
Install-Package FluentValidation.DependencyInjectionExtensions # برای یکپارچگی با DI
در مثال ما، از یک کلاس تنظیمات به نام GitHubSettings استفاده میکنیم که نیاز به اعتبارسنجی دارد:
public class GitHubSettings
{
public const string ConfigurationSection = "GitHubSettings";
public string BaseUrl { get; init; }
public string AccessToken { get; init; }
public string RepositoryName { get; init; }
}
🧩 ایجاد Validator با FluentValidation
سپس یک Validator برای کلاس تنظیمات میسازیم:
public class GitHubSettingsValidator : AbstractValidator<GitHubSettings>
{
public GitHubSettingsValidator()
{
RuleFor(x => x.BaseUrl).NotEmpty();
RuleFor(x => x.BaseUrl)
.Must(baseUrl => Uri.TryCreate(BaseUrl, UriKind.Absolute, out _))
.When(x => !string.IsNullOrWhiteSpace(x.BaseUrl))
.WithMessage($"{nameof(GitHubSettings.BaseUrl)} must be a valid URL");
RuleFor(x => x.AccessToken)
.NotEmpty();
RuleFor(x => x.RepositoryName)
.NotEmpty();
}
}