Используя Fluid Validation, как я могу проверить, что два свойства объекта не могут иметь значения? - PullRequest
0 голосов
/ 31 марта 2020

Я хочу проверить два свойства (MyProperty1, MyProperty2) в классе. Эти свойства могут быть нулевыми. У них обоих есть отдельные правила проверки, но они не могут иметь оба значения.

public MyObject 
{
    public string MyProperty1 { get; set; }
    public string MyProperty2 { get; set; }
}

Я стараюсь не писать что-то вроде этого

            When(
            c => c.MyProperty1 != null && c.MyProperty2 != null,
            () =>
                this.RuleFor(r => r.MyProperty1 )
                    .Null()
                    .WithMessage("MyProperty1 must be null when MyProperty2 has value"));

1 Ответ

0 голосов
/ 31 марта 2020

Следующее достигнет этого и сохранит свободную читаемость.

RuleFor(o => o.MyProperty1)
    .Null()
    .When(o => o.MyProperty2 != null)
    .WithMessage("MyProperty1 must be null when MyProperty2 has value");

RuleFor(o => o.MyProperty2)
    .Null()
    .When(o => o.MyProperty1 != null)
    .WithMessage("MyProperty2 must be null when MyProperty1 has value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...