Asp.net web api 在web api中为PUT请求绑定模型之前验证参数
我如何区分作为String.Empty发送的参数和作为PUT请求的参数绑定根本不发送的参数。 我的请求类如下所示:Asp.net web api 在web api中为PUT请求绑定模型之前验证参数,asp.net-web-api,asp.net-web-api2,Asp.net Web Api,Asp.net Web Api2,我如何区分作为String.Empty发送的参数和作为PUT请求的参数绑定根本不发送的参数。 我的请求类如下所示: public class Person { string name {get; set;} int? age {get; set;} } 我的问题是绑定 当我的用户以 { "name":"ABC" } 在上述情况下,年龄参数映射为null 然而,当请求看起来像下面这样时,它也映射为null。我想在下面的情况下抛出一个验证错误。 如何在asp net核心web
public class Person
{
string name {get; set;}
int? age {get; set;}
}
我的问题是绑定
当我的用户以
{
"name":"ABC"
}
在上述情况下,年龄参数映射为null
然而,当请求看起来像下面这样时,它也映射为null。我想在下面的情况下抛出一个验证错误。
如何在asp net核心web api中实现它
{
"name":"ABC",
"age":""
}
你应该看一看
您可以在可为空的int上添加Range
属性。这将只允许整数或null,而不允许空字符串
public class Person
{
string name {get; set;}
[Range(0,300)]
int? age {get; set;}
}
如果数据注释未完全填充,则会将modelstate设置为false
然后检查controller方法中的modelstate
if (ModelState.IsValid)
{
// your logic
return new HttpResponseMessage(HttpStatusCode.OK);
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
请在
if条件下尝试使用此字符串。IsNullOrEmpty(Person.age.ToString())
,然后显示错误消息。@BasantaMatia我只想在输入有空字符串时显示错误。使用String.IsNullOrEmpty(Person.age.ToString())时,即使用户未在所有位置传递值,它也会引发验证错误。我无法理解,您已经声明,在这两种情况下,它都映射为null。那有什么问题?如果(String.IsNullOrEmpty(Person.age))//错误消息