gpt4 book ai didi

c# - asp.net core 2.0 模型验证不验证数据

转载 作者:太空狗 更新时间:2023-10-29 19:38:22 25 4
gpt4 key购买 nike

我正在使用 ASP.NET Core 2.0 默认模型验证,它似乎无法使用 ModelState.IsValid 始终为真,尽管模型中的数据有误。

[HttpPost("abc")]
public async Task<IActionResult> Abc([FromBody]AbcViewModel model)
{
if (!ModelState.IsValid) { return BadRequest(ModelState); }
...
}

public class AbcViewModel
{
[Required(ErrorMessage = "Id is required")]
[Range(100, int.MaxValue, ErrorMessage = "Invalid Id")]
public int Id { get; set; }

public bool Status { get; set; }
}

当我从 Angular 应用程序发布数据时,值正确映射到模型,但如果 Id 为“0”或小于 100,RequiredRange 验证器不工作并且 ModelState.IsValid 始终为真。我缺少什么?

最佳答案

如果您正在使用 services.AddMvcCore(),那么您需要明确设置您的应用程序以使用数据注释执行验证:

public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddDataAnnotations()
/* etc. */;
}

关于c# - asp.net core 2.0 模型验证不验证数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51799110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com