3

我使用反射器进行搜索,但没有找到ValidationResult.MemberNames应该包含多个值的情况。

所以,首先我想知道为什么 MS 必须这样做IEnumerable<string>,那么既然他们已经这样做了,我可以相信这个属性只会返回一个值吗?

更新
关于 DataAnnotations 验证系统,我发现更多的草率:

  1. 如果它们不再存在,and 应该从 validationResults 参数中TryValidateProperty删除TryValidateObject错误
  2. ValidationResult 应该覆盖 Equals 和 GetHashCode。
  3. 为什么 ValidationResult.ErrorMessage 是可变的!?我自己无法构建 EqualityComparer!
  4. 如果 DataTypeAttribute 仅用于表示问题,为什么它会继承 ValidationAttribute,这只是误导,我不得不努力直到我理解(在反射之后)它不起作用。MS只是没有实现它。

而这样的例子不胜枚举。

4

1 回答 1

3

考虑密码和密码确认。或任何开始/停止值,或任何其他跨字段验证。

于 2010-08-18T04:58:41.260 回答