Как использовать вычисленное свойство в быстрой проверке
В настоящее время я использую dto, который имеет несколько полей, как показано ниже:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
//Other properties
}
У меня есть свободный валидатор вышеупомянутого dto.
У меня вопрос, как мне добавить условную проверку для вышеупомянутого FirstName
а также LastName
свойства одни. Проверка должна быть основана на boolean
имущество (IsEnabled
), который получается из вызова API.
Мне нужно что-то вроде
public class PersonValidator
{
When(profileAdd => {**IsEnabled**}, () =>
{
//Validations for first name and last name
}
}
Я прочитал из GitHub, что параметры не могут быть переданы в валидаторы. Итак, как мне этого добиться?
1 ответ
Вы можете попробовать это:
When(x => IsEnabled, () => {
// validation for first and last name
});
или это:
RuleFor(person => person.FirstName).SetValidator(new YourCustomValidatior()).When(x => isEnabled);
RuleFor(person => person.LastName).SetValidator(new YourCustomValidatior()).When(x => isEnabled);
где "YourCustomValidator" проверит вашу собственность. Узнайте больше о настраиваемой форме валидатора здесь. ( https://fluentvalidation.net/custom-validators)
Вы также можете использовать встроенные валидаторы. ( https://fluentvalidation.net/built-in-validators)