【发布时间】:2017-04-10 13:49:49
【问题描述】:
我正在使用 modelstate 属性来检查我的模型是否有效。 这一切都很好,但是当我向我的 json 正文添加更多属性(我的模型中不存在)时,它说模型仍然有效。
如何检查发送的 json 正文以匹配 C# 模型?
这是我现在的模型:
public class User
{
public int Id { get; set; }
public string IdentityServerId { get; set; }
[Required(ErrorMessage = "Email is required")]
[EmailAddress(ErrorMessage = "Not a valid emailaddress")]
public string Email { get; set; }
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
public bool IsActive { get; set; }
}
正确格式的 json 是:
{
"Name": "Klaas",
"Email": "eifjelfij@sdf"
}
这给出了一个 200 OK 来创建相应的用户。
但是当我发送这个 json 时:
{
"Name": "Arjan",
"Email": "eifjelfij@sdf",
"eifj":"eflijelfij"
}
它仍然会创建用户,但我想给用户一个错误消息而不是用户创建。
【问题讨论】:
-
较低的也是有效的 json,因为你没有属性
eifj所以它会被有效地丢弃。模型验证只能验证模型中存在...的属性;)
标签: c# .net json asp.net-core .net-core