使用WebApi进行客户端验证

7 validation asp.net-mvc entity-framework asp.net-web-api

我试图通过WebApi对我的对象执行客户端验证.我通过webapi将实体发送到我的实体编辑屏幕.我使用knockout将对象绑定到字段.

我已经有一个处理所有服务器端验证的动作过滤器.如何在不必复制域模型数据注释的情况下合并客户端验证?

tug*_*erk 0

当我创建 HTTP API 时,我将模型对象(DTO、请求模型等)放入一个单独的程序集中,我可以将其分发给 .NET 客户端。

考虑下面的类:

public abstract class UserUpdateRequestModel {

    [Required]
    [StringLength(50)]
    public string Name { get; set; }

    [Required]
    [EmailAddress]
    [StringLength(320)]
    public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我在 API 中使用的:

public UserDto PutUser(Guid key, UserUpdateRequestModel requestModel) {

    // Do something here
}
Run Code Online (Sandbox Code Playgroud)

例如,您可以在 ASP.NET MVC 客户端应用程序中使用相同的模型来生成带有验证data-属性的 HTML 输入,因为 ASP.NET MVC 有一种基于数据注释验证属性生成这些输入的方法。