【问题标题】:Options for asp.net MVC Validation Frameworkasp.net MVC 验证框架的选项
【发布时间】:2009-03-24 03:26:35
【问题描述】:

我现在正在考虑两个选项,用于我开始的 ASP.net 项目的基于模型的验证:

xVal(Steve Sanderson 的项目)和 Stephen Walther 在this page 上使用的 Enterprise 模块

我真的不太了解这些偏好,因为我还没有使用过它们中的任何一个。有什么想法吗?

更新现在使用 LinqToSql for ORM,但愿意接受更改。

【问题讨论】:

    标签: asp.net-mvc validation xval


    【解决方案1】:

    我在回顾这两者时看到的一个区别是,Stephen Walther 的博客文章描述了一个仅在 Web 服务器中进行验证的库,而 xVal 也与 jQuery 验证器一起进行浏览器内验证。顺便说一下,这个功能几乎是完全自动的。

    【讨论】:

      【解决方案2】:

      FluentValidation 很好。 NHibernate 还内置了模型验证。然后你需要像 Scott Guthrie's technique 这样的东西来将错误绑定到 UI。

      【讨论】:

        【解决方案3】:

        我一直在使用 xVal 并将它集成到 MVC RC1 中引入的 IDataErrorInfo 接口中。我喜欢。

        这是我写的一篇文章,它解释了一些事情。

        http://schotime.net/blog/index.php/2009/03/05/validation-with-aspnet-mvc-xval-idataerrorinfo/

        希望这会有所帮助。

        【讨论】:

          【解决方案4】:

          无耻地宣传我的validation library。专为 jQuery 验证和企业库而构建,开箱即用。也就是说,功能和代码足够简单,可以根据需要进行修改/扩展。

          【讨论】:

            【解决方案5】:

            您还可以在 LosTechies http://www.lostechies.com/blogs/hex/archive/2009/06/10/opinionated-input-builders-for-asp-net-mvc-part-5-the-required-input.aspx 上查看这项新技术,我喜欢您的输入是在全球范围内设置的,这真的很干燥。你也可以跳过客户端验证,向服务器提交一个 jquery ajax 提交表单,它在一个地方执行验证模型和业务逻辑,这也是 DRY :) 这也意味着你可以更快地把产品拿出来您可以稍后添加客户端验证作为奖励或逐步增强表单。

            【讨论】:

              【解决方案6】:

              再次为 xVal 投票。真的很甜我喜欢使用Buddy ClassesDataAnnotations 进行验证提升。除了使事情与 Linq2Sql 一起工作之外,因为您无法向字段添加属性,伙伴类提供了一些灵活性,可以让多个模型共享相同的验证信息。对于那些似乎总是必不可少的 ModelEditData 类来说,它真的很方便。

              【讨论】:

                【解决方案7】:

                你在使用 ORM 吗?如果是这样,您使用的是哪一个?我很幸运,在使用Castle ActiveRecord 时,只需坚持他们默认的模型级验证。但是,如果您不使用它,这可能并没有太大帮助。 :-)

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-12-31
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-12-05
                  • 1970-01-01
                  相关资源
                  最近更新 更多