Плавная проверка: когда метод не найден после EqualsC#

Место общения программистов C#
Ответить
Anonymous
 Плавная проверка: когда метод не найден после Equals

Сообщение Anonymous »

Серверная сторона Blazor, .NET7, с использованием пакета Nuget Blazored.FluentValidation версии 2.1.0
У меня есть модель, которая включает два свойства bool IsAdmin и Согласовано. Первый предназначен для внутреннего использования (чтобы пропустить определенные проверки, когда вошедший в систему пользователь является администратором), а второй — сообщить, что пользователь принял положения и условия перед отправкой формы.
Мне нужно правило проверки, которое проверяет, что Согласовано истинно, когда IsAdmin ложно. Я попробовал следующее...

Код: Выделить всё

RuleFor(p => p.Agreed)
.Equals(true)
.When(p => !p.Admin)
.WithMessage("You must accept the terms and conditions");
...но возникла ошибка компилятора при выборе When...

Невозможно разрешить символ When

Я не уверен, что я сделал не так, поскольку я без проблем использовал When в других местах, например.. .

Код: Выделить всё

RuleFor(p => p.SelectedTimePackageId)
.GreaterThan(0)
.When(p => p.SelectedPrintPackageId == 0)
.WithMessage("You must select a time package and/or a print package");
Я знаю, что могу обойти эту проблему с помощью специального правила проверки, но хотелось бы знать, почему проблема When не решена.


Подробнее здесь: https://stackoverflow.com/questions/787 ... ter-equals
Ответить

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

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

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

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

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