ValidationResult.PropertyName is generally affected by .OverridePropertyName, except where there is a collection validator. In these cases, ValidationResult.PropertyName still matches the (indexed) collection property name.
For example:
```
RuleFor(ow => ow.FineComponentCollection)
.Must((ow, coll) => coll.Any(fc => fc.Amount > 0))
.When(ow => ow.FineComponentCollection.Count > 0)
.OverridePropertyName("Test") // this works
.WithMessage("At least one non-zero monetary amount must be specified.");
RuleFor(ow => ow.FineComponentCollection)
.SetCollectionValidator(OutcomeFineComponentValidator.GetValidator(isNewEntity))
.OverridePropertyName("Test"); // this doesn't work
```
In the latter case, my ValidationResult.PropertyName still ends up as something like "FineComponentCollection[2].Amount" instead of "Test[2].Amount"
For example:
```
RuleFor(ow => ow.FineComponentCollection)
.Must((ow, coll) => coll.Any(fc => fc.Amount > 0))
.When(ow => ow.FineComponentCollection.Count > 0)
.OverridePropertyName("Test") // this works
.WithMessage("At least one non-zero monetary amount must be specified.");
RuleFor(ow => ow.FineComponentCollection)
.SetCollectionValidator(OutcomeFineComponentValidator.GetValidator(isNewEntity))
.OverridePropertyName("Test"); // this doesn't work
```
In the latter case, my ValidationResult.PropertyName still ends up as something like "FineComponentCollection[2].Amount" instead of "Test[2].Amount"