使用.Net的Fluent验证库验证单个属性

Ble*_*ger 6 .net asp.net validation asp.net-mvc fluentvalidation

您可以使用Fluent验证验证单个属性吗?如果是,如何验证?我认为2009年1月的这个讨论主题向我展示了如何通过以下语法来实现:

validator.Validate(new Person(), x => x.Surname);
Run Code Online (Sandbox Code Playgroud)

不幸的是,它似乎不适用于当前版本的库.另一件让我相信可能有可能验证单个属性的事情是Jeremy Skinners博客文章的以下引用:

"最后,我添加了能够执行一些FluentValidation的属性验证器而无需验证整个对象的能力.这意味着现在可以停止将默认的"值为必需"消息添加到ModelState中."

但是,我不知道这是否必然意味着它支持仅验证单个属性,或者您可以告诉验证库在第一个验证错误后停止验证.

pat*_*dge 5

根据CodePlex 上的讨论,该功能是通过扩展方法添加的。您需要导入 FluentValidation 命名空间才能在 IntelliSense 中显示这些命名空间。

  • FluentValidation.DefaultValidatorExtensions 具有用于通过一个或多个属性名称进行验证的扩展方法。IE `MyClassValidator.Validate(MyClassInstance, "MyPropertyName")` (3认同)