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

时间:2009-06-18 15:34:26

标签: asp.net-mvc validation

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

  • 客户端和服务器端验证。
  • 验证规则在一个地方。
  • “密码”和“密码”等常见情况“确认密码”已得到解决。

选项:

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

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

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

谢谢。

1 个答案:

答案 0 :(得分:4)

我可以回答其他问题:)

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");
}