Daniel Gartmann
Daniel Gartmann

Reputation: 13008

ServiceStack's fluent validation does not work with the Equals function

This snipped works fine:

RuleFor(request => request.Id)
      .Must(id => id == 0)
      .WithMessage("'Id' must be equal to '0'.");

And this one doesn't work (it's just ignored):

RuleFor(request => request.Id)
      .Equals(0)
      .WithMessage("'Id' must be equal to '0'."));

Am I missing something or is the Equals function erroneous?

Upvotes: 1

Views: 258

Answers (1)

mythz
mythz

Reputation: 143319

The FluentValidation API for Equals is Equal, i.e:

RuleFor(request => request.Id)
      .Equal(0)
      .WithMessage("'Id' must be equal to '0'."));

Calling Equals just calls Object.Equals() which doesn't register a validator.

Upvotes: 5

Related Questions