【问题标题】:Will the ValidationResult.MemberNames property ever contain more than one value?ValidationResult.MemberNames 属性是否会包含多个值?
【发布时间】:2011-03-28 16:52:19
【问题描述】:

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

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

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

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

名单还在继续。

【问题讨论】:

  • 确实,ValidationResult 类很丑。然后具有讽刺意味的是,其名为 Success.. 的静态只读字段始终为空,因此绝对没有成功的机会。这个讨厌的 ValidationResult 类的一个实例总是一个失败。更不用说它不可序列化了..

标签: validation data-annotations validationattribute


【解决方案1】:

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

【讨论】:

  • 我明白了。还是有点傻,看看我的其他方面。
猜你喜欢
  • 2016-10-02
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多