Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将验证错误从web api层传递到MVC层?_C#_Asp.net_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

C# 如何将验证错误从web api层传递到MVC层?

C# 如何将验证错误从web api层传递到MVC层?,c#,asp.net,asp.net-mvc,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Asp.net Web Api,我有一个ASP.NET MVC应用程序,可以调用我的ASP.NET Web API层 WebAPI层也使用EF6.x最新版本 现在,如果说MVC有一个用户表单来创建一个新用户,那么当用户点击submit时,我会: 表单由我的UserDTO支持 将UserDTO作为参数传递给我的SaveUser web api客户端。 现在在WebAPI层中,如果存在验证错误,如何使用基于属性的验证并将错误传递回MVC视图页面 更新 我想使用ModelState.IsValid,如果有错误,请将其传递回MVC层。

我有一个ASP.NET MVC应用程序,可以调用我的ASP.NET Web API层

WebAPI层也使用EF6.x最新版本

现在,如果说MVC有一个用户表单来创建一个新用户,那么当用户点击submit时,我会:

表单由我的UserDTO支持 将UserDTO作为参数传递给我的SaveUser web api客户端。 现在在WebAPI层中,如果存在验证错误,如何使用基于属性的验证并将错误传递回MVC视图页面

更新


我想使用ModelState.IsValid,如果有错误,请将其传递回MVC层。

在用户数据中创建一个error属性,然后返回

public UserDTO saveuser(UserDTO user)
    if(validation error)
    {
    UserDto user = new UserDTO()
    User.error = [your error message]
    return user;
    }
else{
//////// save it and retuen null.
}
在您的MVC中

UserDTO user=saveuser;[您的web api客户端]


然后在MVC中处理它。

我想使用内置的基于属性的验证,我如何才能访问ModelState.IsValid并将错误传递回。这只是一个问题,但您不想在MVC viewmodel上使用属性验证并在提交到web api层之前处理它吗?带有验证属性的viewmodel->pass validation->map to dto->web api层。@f0x是,但如果sych出现问题,则必须在api层进行真正的验证。这意味着实际的验证是在API层进行的,因为API开发人员可能希望添加额外的验证。