1

我是使用 FubuMvc 的新手,我最近更新到没有任何文档的 1.0 版,而且代码中似乎有很多重大更改,我试图了解验证规则和验证的一般工作原理扶布。

即使我导入 FubuMVC.Validation 也找不到验证方法

this.Validation(x => { 
    x....
}); 

是否有任何新方法,我只是想清楚验证如何在 fubu 中发生的概念。

我可以应用约定进行验证吗?示例:对包含名为“电子邮件”的字段的所有实体应用标准格式的正则表达式验证。

4

1 回答 1

3

新的 FubuMVC.Validation 瓶完全是嵌入式的,根本不需要太多配置。如果要配置它适用的链,只需执行以下操作:

改变设置(x => ...);<--- 在您的 FubuRegistry 中

目前,我们没有以开箱即用的方式进行常规验证你有两种方法:

  1. 属性
  2. FubuMVC 中的 OverridesFor DSL。

可以在此处(分别)找到这两个示例:

  1. https://github.com/DarthFubuMVC/fubuvalidation/blob/master/src/FubuMVC.Validation.StoryTeller/User.cs
  2. https://github.com/DarthFubuMVC/fubuvalidation/blob/master/src/FubuMVC.Validation.StoryTeller/AccessorOverridesModel.cs

话虽如此...

任何实现 IFieldValidationSource 的东西都会自动注册到您的容器中。这就是我们将 OverridesFor 转换为规则的方式,例如:

https://github.com/DarthFubuMVC/fubuvalidation/blob/master/src/FubuMVC.Validation/AccessorRulesFieldSource.cs

因此,您可以反映该属性并返回一个 EmailFieldRule。像这样的东西:

https://gist.github.com/4540861

希望这可以帮助,

乔什

于 2013-01-15T18:36:43.870 回答