This repository was archived by the owner on Dec 14, 2018. It is now read-only.

Description
Hi
I'm trying to move some validation logic into a ValidationAttribute and I've come to a dead end. The idea is to mark a List<string> to contain only unique entries.
For example:
public class MyModel
{
[UniqueCollection]
public List<string> Values { get; set; }
}
However, when returning the following validation result ...
return new ValidationResult(message, new[]{ "[1]", "[4]" });
... I would expect to see ModelState errors with the keys "Values[1]" and "Values[4]". Instead there is only one error with the key "Values.[1]". (Note the .)
I could put the attribute on the class and return a result like ...., new[] { "Values[1]" }); but that would require a bit of reflection and it breaks when you rename the property.
Is there another (nice) way to achieve the same result??
I've traced it down to here:
|
var key = ModelNames.CreatePropertyModelName(_key, result.MemberName); |