【问题标题】:Form input validation options in ASP.NET MVC 1.0+ASP.NET MVC 1.0+ 中的表单输入验证选项
【发布时间】:2009-08-11 09:30:29
【问题描述】:

之前有人就这个话题提出过很多问题,但是由于 ASP.NET MVC 发展得非常快,我想重新提出这个问题:

对于在 ASP.NET MVC 中提供表单输入验证,您有什么建议?

要求:

  • 服务器端检查
  • 客户端 (JavaScript) 检查
  • 应涵盖必填字段、数字范围验证、正则表达式验证等基础知识

(所以基本上所有(或大部分)ASP.NET WebForms validation controls 所做的事情)

目前的选择似乎是:

  1. Validator Toolkit on CodePlex
  2. Jumping to ASP.NET MVC 2 Preview 1(我们的应用程序供内部使用,6 个月后上线,所以我们可以放心使用预览版)

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-2


    【解决方案1】:

    xVal 在您的情况下应该是不错的选择。

    【讨论】:

    • 我猜 Steven Sanderson 在此期间忙于写他的书。希望他能继续为 xVal 工作。
    • 我认为这不是问题。它完成了每个开发人员期望的大部分工作。所以可能没有必要每周左右更换一次。无论如何,您仍然拥有代码,可以根据需要进行修改。
    【解决方案2】:

    我会使用 DataAnnotations,它将成为 MVC 的一部分,但可以在 1.0 中编译和使用。

    http://www.asp.net/learn/mvc/tutorial-39-cs.aspx

    /M

    【讨论】:

    • 我不喜欢 Buddy Classes - 它们违反 DRY:ayende.com/Blog/archive/2009/05/04/…
    • 我们有一组 ViewModel 类映射到我们的后端数据模型(通常这些来自 WCF 代理类),而不是使用伙伴类。我们使用 AutoMapper (codeplex.com/AutoMapper) 映射属性
    • 您能否引用一篇文章指出 DataAnnotations 将成为 ASP.NET MVC 的官方部分?您链接到的文章表明它们不是“官方的”。
    【解决方案3】:

    FluentValidation 也有一个 MVC 组件,但是它不做客户端的事情。理想情况下,这可以与 xVal 集成。

    【讨论】:

    • 这很好。我不知道它存在并想自己实现它。
    • 我自己也一直在看,FluentValidation 项目中其实有一个现有的xValIntegration。它不完整,但有一个良好的开端。
    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    相关资源
    最近更新 更多