在 Nancy 中验证模型和用户输入

Validate Models And User Input In Nancy

目前在 Nancy (Nancy FX?) 中验证模型的方法是什么?

是我自己推出,使用 DataAnnotations 还是每个 class 我还应该实现一个 AbstractValidator 吗?

我正在尝试验证许多模型 - 我的用户注册页面和常规模型 post 页面。使用 AbstractValidator 时;在我的模块 class 中,我是调用 .BindAndValidate<Foo>() 还是 .Validate(fooInstance)

这个 post 描述了一种方法,但它已有 3 年历史了,所以可能还有更新的方法?

有一种方法可以进行验证,即调用 this.Validate(instance)BindAndValidate<>() 从字面上看,即首先绑定模型,然后在其上调用验证。

Validate 方法将搜索一个验证工厂,该工厂将为模型创建实际的验证器。我正在使用流畅的验证,所以在我的例子中它调用定义的验证器。

我无法在数据注释方面为您提供帮助,因为我不使用它,但使用 FluentValidation,我只需安装 Nancy.Validation.FluentValidation 包 (nuget),然后定义验证器。而已。我假设使用类似的数据注释方法。

注意 .BindAndValidate() 将验证结果设置为 Context.ModelValidationResult .