Как использовать вычисленное свойство в быстрой проверке - PullRequest
0 голосов
/ 25 февраля 2019

В настоящее время я использую 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 Ответ

0 голосов
/ 27 февраля 2019

Вы можете попробовать это:

        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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...