asp.net-mvc - asp.net MVC 应用程序中的客户端和服务器端验证

标签 asp.net-mvc validation

我们正在启动一个新的 ASP.NET 3.5 MVC 应用程序。以下是验证要求:

  • 客户端和服务器端验证。
  • 验证规则集中在一处。
  • 解决了“密码”和“确认密码”等常见情况。

  • 选项:
  • DataAnnotation(仅进行服务器端验证)
  • EL 4.1 验证应用程序块(仅进行服务器端验证)
  • xVal框架
  • Validation Library框架
  • Validator Toolkit框架
  • 其他的 ?

  • xVal 和 'Validation Library' 都可以使用 DataAnnotation 和 jQuery 验证插件。

    如果表单具有“创建”所需但“更新”不需要的字段,那么这些框架中的哪一个可以处理这种情况?

    请告知哪个将是 MVC 客户端和服务器验证的最佳选择?

    谢谢你。

    最佳答案

    我可以回答其他 题 :)

    FluentValidation看起来很有趣。它们提供了流畅的语法,例如:

    public class CustomerValidator: AbstractValidator<Customer> {
        public CustomerValidator() {
            RuleFor(customer => customer.Surname).NotEmpty();
            RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Missing first name");
        }
    }
    

    它还与 ASP.NET MVC 有一些小的集成,您可以在其中将验证结果添加到 ModelState,如下所示:
    public ActionResult Save(Customer customer) {
        var validator = new CustomerValidator();
        var results = validator.Validate(customer);
        results.AddToModelState(ModelState, "customer");
    }
    

    关于asp.net-mvc - asp.net MVC 应用程序中的客户端和服务器端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1013405/

    相关文章:

    c# - 如何在 asp.net 中显示 html 电子邮件

    asp.net-mvc - SimpleInjector - 装饰器没有启动?

    asp.net - 将 Expression Web 与 ASP.Net MVC 结合使用

    Jquery - 验证多个字段(分组字段),其中所有字段都有效

    python - 没有 ORM、DOM 或表单的对象模式/模型

    asp.net-mvc - ASP.NET MVC : The correct way to handle a cancel button

    silverlight - Silverlight 4 中的数据验证

    javascript - jQuery 验证 - int 字段验证有时不起作用

    c# - WinForms 中的用户输入验证

    C# ASP.NET MVC 从配置文件访问 SMTP 设置