ValidationResult.Success字段的目的是什么?

car*_*thl 19 validation entity-framework

Msdn:

public static readonly ValidationResult ValidationResult.Success

表示验证成功(如果验证成功,则为true;否则为false).

上面摘录中的文字对我没有意义,因为Success字段不返回类型bool的值,它返回的值(即ValidationResult实例)不包含我们可以设置为值的任何布尔属性或字段表明验证成功与否?!

任何想法这个领域的目的是什么?

谢谢

usr*_*usr 25

ValidationResult.Success总是不变的null.它的目的是文档.

为了成功验证,你可以写:

return null;
Run Code Online (Sandbox Code Playgroud)

要么

return ValidationResult.Success;
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,我问自己" 这是什么意思?什么意味着什么?这是成功,还是失败,还是其他什么? ".在后一种情况下,代码本身就是文档而不需要非正式的文本文档.

  • 是的,我忘记了那部分问题。该文档是错误的;-)我猜MVC团队最初让验证器返回一个布尔值。但是,这还不够,所以他们改变了它。这是文档作为代码而不是文本作为文档的另一种情况! (2认同)
  • 你如何检查 `IEnumerable<ValidationResult>` 是否没有错误? (2认同)
  • @Shimmy `if (model.Validate().Any()) { displayErrors(...) }` (2认同)