I have a FluentValidator that has multiple properties like zip and county etc. I want to create a rule that takes two properties just like a RuleFor construct
public class FooArgs { public string Zip { get; set; } public System.Guid CountyId { get; set; } } public class FooValidator : AbstractValidator<FooArgs> { RuleFor(m => m.CountyId).Must(ValidZipCounty).WithMessage("wrong Zip County"); }
This works but I want to pass both Zip and county to the rue in order to validate. What is the best method to achieve this?
There is a Must
overload that also provides you with the FooArgs
object documented here. It allows you to easily pass both arguments into your method like this:
RuleFor(m => m.CountyId).Must((fooArgs, countyId) => ValidZipCounty(fooArgs.Zip, countyId)) .WithMessage("wrong Zip County");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With