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

我们正在开始一个新的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应用程序中的客户端和服务器端验证 - 代码日志