У меня есть класс Property
, который содержит следующие три свойства:
bool CorrespondanceAddressIsSecurityAddress
Address CorrespondanceAddress
Address SecurityAddress
Класс адреса - это просто базовый класс адреса, который содержит сведения об адресе пользователя.
Адрес для переписки пользователя всегда будет заполнен и, следовательно, должен быть подтвержден.У пользователя есть возможность выбрать, что его адрес соответствия совпадает с его защитным адресом, когда это происходит, нет необходимости проверять защитный адрес, и его можно оставить пустым.
Что я хотел быdo проверяет состояние логического значения CorrespondanceAddressIsSecurityAddress
, а затем устанавливает валидатор для адреса безопасности, если для него задано значение false, но я не уверен в синтаксисе, необходимом для этого.
Atв тот момент, когда класс, управляющий проверкой для класса свойств, содержит две следующие строки:
RuleFor(p => p.CorrespondanceAddressIsSecurityAddress)
.NotNull()
.WithMessage("CorrespondanceAddressIsSecurityAddress cannot be null");
RuleFor(p => P.CorrespondanceAddressIsSecurityAddress
.Equals(false))
.SetValidator(new FluentAddressValidator());
Однако второе правило, которое устанавливает валидатор, дает синтаксическую ошибку, говоря:
Невозможно преобразовать из '... FluentAddressValidator' в 'FluentValidation.Validators.IPropertyValidator
Как мне установить правило, основанное на значении логического значения?