654045 Data validation System.ComponentModel.DataAnnotations.Compare does not inject the Display value for a custom ErrorMessage
The problem here is that the CompareAttribute from System.ComponentModel.DataAnnotations doesn't populate the OtherPropertyDisplayName property until IsValid() is called. Therefore, by the time CompareAttributeAdapter tries to generate the error message for client validation, the OtherPropertyDisplayName hasn't been populated and the error message falls back on using the OtherProperty name.
The proposed fix is to eagerly get the value for OtherPropertyDisplayName similar to what we do in System.Web.Mvc.CompareAttribute. Because the OtherPropertyDisplayName property is not settable, I had to create an wrapper and override the FormatErrorMessage method.