protected internal virtual void OptionalValidate(IConstraintValidatorContext context) { if (Coordinates.IsSpecified && Site.Coordinates.IsSpecified && Coordinates.CalculateDistanceInMinutesTo(Site.Coordinates) > 1f) { context.AddInvalid("(Optional) Coordinates are more than one mile from site. You might want to double check them.", nameof(Coordinates)); } if (Coordinates.IsSpecified && Site.State.CoordinateBounds.Contains(Site.Coordinates) && !Site.State.CoordinateBounds.Contains(Coordinates)) { context.AddInvalid($"(Optional) Coordinates appear to fall outside the state's boundaries. You might want to double check them.", nameof(Coordinates)); } }