gpt4 book ai didi

c# - 数据注释属性在 asp net core 中不起作用

转载 作者:行者123 更新时间:2023-12-04 00:25:02 24 4
gpt4 key购买 nike

ASP Net core 2.2 应用程序,数据注释属性 [必需] 根本不起作用。根据文档 https://docs.microsoft.com/en-ca/dotnet/api/system.componentmodel.dataannotations.requiredattribute?view=netframework-4.7.1#remarks .
如果属性为空、包含空字符串 ("") 或仅包含空白字符,则会引发验证异常。
但是,在我的应用程序中并非如此。

        [HttpPost]
public IActionResult TranslateHtml(
[FromQuery] [Required] int value,
[FromForm] [Required(AllowEmptyStrings = false)]
string source)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
return Ok();
}

当我通过 Postman 发送请求并且不指定查询字符串值和/或表单数据源 ModelState.IsValid 为 true 时。我期待是假的。

最佳答案

我找到了问题的根源。我被包含在 .AddMvcCore 中,默认情况下它根本不包含 DataAnnotations。

services.AddMvcCore()
.AddDataAnnotations()
.AddCors()
.AddJsonFormatters()

我在 Startup.cs 中添加了 .AddDataAnnotations,它的作用就像一个魅力。

关于c# - 数据注释属性在 asp net core 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57807712/

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