我该如何区分以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":""
}
答案 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;}
}