#c# #fluentvalidation
#c# #проверка fluentvalidation
Вопрос:
используя библиотеку Fluent Validation C #, у меня есть этот код, который в настоящее время проверяет сумму баланса, когда пользователь создает новый банковский счет.
public class BankAccountValidator : AbstractValidator<BankAccount>
{
private AppDbContext db = new AppDbContext();
public BankAccountValidator()
{
RuleFor(x => x.Balance).GreaterThanOrEqualTo(50).WithMessage($"A minimum of $100.00 balance is required to open Saving bank account type.");
}
}
Но теперь я добавил перечисление для AccountType: SavingAccount и CurrentAccount. Правила таковы, что для сохранения учетной записи требуется минимум 100,00 долларов, в то время как для текущей учетной записи требуется минимум 300,00 долларов. Как мне создать пользовательский метод для этой проверки, используя библиотеку Fluent Validation library?
Ответ №1:
Вы должны использовать When
метод:
When(x => x.AccountType == AccountType.SavingAccount,
() => RuleFor(x => x.Balance)
.GreaterThanOrEqualTo(100)
.WithMessage($"A minimum of $100.00 balance is required to open Saving bank account type."));
When(x => x.AccountType == AccountType.CurrentAccount,
() => RuleFor(x => x.Balance)
.GreaterThanOrEqualTo(300)
.WithMessage($"A minimum of $300.00 balance is required to open Current bank account type."));