在对Web API中的PUT请求进行模型绑定之前验证参数

时间:2018-08-24 04:14:08

标签: asp.net-web-api asp.net-web-api2

我该如何区分以String.Empty发送的参数和根本没有为PUT请求的参数绑定发送的参数。   我的请求类如下:

public class Person
{
   string name {get; set;}
   int? age {get; set;}
}

我的问题是绑定 当我的用户以

发送请求时
{
   "name":"ABC"
}

在上述情况下,age参数被映射为null 但是,当请求如下所示时,它也映射为null。我想在以下情况下抛出验证错误。 如何在ASP Net Core Web API中实现它

{
   "name":"ABC",
   "age":""
}

1 个答案:

答案 0 :(得分:1)

您应该看看DataAnnotations

您可以在可为null的int上添加def listing(request): notifications = request.user.notifications.all() paginator = Paginator(notifications, 20) # Show 20 notifications per page page = request.GET.get('page') try: typesets = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. typesets = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. typesets = paginator.page(paginator.num_pages) return render(request, 'list.html', {'typesets': typesets}) 属性。那将只允许整数或null,不能为空字符串。

Range

如果未完全填充数据注释,则会将modelstate设置为false

然后使用控制器方法检查模型状态

public class Person
{
   string name {get; set;}
   [Range(0,300)]
   int? age {get; set;}
}
相关问题