Проверка сложного дочернего элемента, допускающего значение NULL, с помощью условного оператора NULL с помощью FluentValC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проверка сложного дочернего элемента, допускающего значение NULL, с помощью условного оператора NULL с помощью FluentVal

Сообщение Anonymous »


Я пишу проверку для сложного типа с дочерними элементами, допускающими значение NULL, с использованием условного оператора NULL ?. Пример ниже. У меня есть BarValidator, который я хочу вызвать, если установлен Foo.Bar. Как мне этого добиться?

RuleFor(foo => foo.Bar).SetValidator(new BarValidator()) не будет компилироваться, поскольку BarValidator ожидает Bar, не Бар?. Очевидно, что один из способов — удалить нулевой условный оператор, но я не хочу менять свои классы, чтобы иметь возможность проверять их. Другой способ — изменить на AbstractValidator, однако я хочу, чтобы этот валидатор можно было повторно использовать для Bar.

Использование FluentValidation 11.8.1 в .Net8.
публичный класс Foo(Bar? bar) { общественный бар? Бар = бар; } публичный класс Bar (строковое значение) { общедоступная строка Value {get; } = значение; } открытый класс FooValidator: AbstractValidator { публичный FooValidator() { RuleFor(foo => foo.Bar).SetValidator(new BarValidator()); } } общедоступный класс BarValidator: AbstractValidator { публичный BarValidator() { RuleFor(foo => foo.Value).NotEmpty(); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»