我使用反射器进行搜索,但没有找到ValidationResult.MemberNames
应该包含多个值的情况。
因此,首先,我想知道为什么MS必须这样做IEnumerable<string>
,然后既然他们已经这样做了,我可以依靠这个属性仅返回一个值吗?
更新资料
关于DataAnnotations验证系统,我发现更加草率:
如果TryValidateProperty
和TryValidateObject
不再存在错误,则应该已经从validationResults参数中删除了这些错误。
ValidationResult应该已覆盖Equals和GetHashCode。
为什么ValidationResult.ErrorMessage可变!我无法自行建立EqualityComparer!
如果DataTypeAttribute仅用于表示形式,为什么它会继承ValidationAttribute,这只是一种误导,我不得不努力直到我了解到(在反射之后)它不起作用。 MS只是没有实现它。
而这样的例子不胜枚举。
最佳答案
考虑密码和密码确认。或任何开始/停止值,或任何其他跨域验证。