【问题标题】:Validation in FubuMvc 1.0FubuMvc 1.0 中的验证
【发布时间】:2012-12-29 04:27:32
【问题描述】:

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

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

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

有什么新方法可以解决这个问题吗,我只是想弄清楚在 fubu 中验证是如何发生的。

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

【问题讨论】:

    标签: fubumvc


    【解决方案1】:

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

    AlterSettings(x => ...);

    现在,我们不会以开箱即用的方式进行常规验证。你有两种方法:

    1. 属性
    2. FubuMVC 中的 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

    希望这会有所帮助,

    乔什

    【讨论】:

    • 让我们坐下来,我想坚持选项 2 并实现 OverridesFor,我看到它的工作原理类似于 asp-mvc 中的流利验证,我如何为该验证进行连线?使用 AlterSettings(x => x.Remotes.Include());会要求我实施 IFieldValidationRule
    • 任何实现 IValidationRegistration 的东西都会自动注册。 github.com/DarthFubuMVC/fubuvalidation/blob/master/src/… 我们有一个用于 OverridesFor 类实现的适配器,所以它只会在应用启动期间被拾取。
    • 顺便说一句,我实际上正在编写验证文档。
    猜你喜欢
    • 2011-10-09
    • 2012-02-09
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2014-07-15
    相关资源
    最近更新 更多