Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 未对已发布的操作参数进行模型验证_Asp.net Core_Asp.net Core Mvc_Model Validation - Fatal编程技术网

Asp.net core 未对已发布的操作参数进行模型验证

Asp.net core 未对已发布的操作参数进行模型验证,asp.net-core,asp.net-core-mvc,model-validation,Asp.net Core,Asp.net Core Mvc,Model Validation,为什么ASP.NET核心不验证属性化操作参数?在下面的示例中,SomeClass类型的参数value未得到验证。它甚至没有出现在ModelState字典中(只有id)this.ModelState.IsValid始终为true,即使Name属性设置为长度超过2个字母的字符串 即使是TryValidateModel也始终是true,无论请求主体包含什么(JSON) 及 您需要注册MVC数据注释。当您使用lightAddMvcCore方法而不是AddMvc时,默认情况下不会添加它。修改您的Conf

为什么ASP.NET核心不验证属性化操作参数?在下面的示例中,
SomeClass
类型的参数
value
未得到验证。它甚至没有出现在ModelState字典中(只有
id
this.ModelState.IsValid
始终为
true
,即使Name属性设置为长度超过2个字母的字符串

即使是
TryValidateModel
也始终是
true
,无论请求主体包含什么(JSON)


您需要注册MVC数据注释。当您使用light
AddMvcCore
方法而不是
AddMvc
时,默认情况下不会添加它。修改您的
ConfigureServices
方法:

services
   .AddMvcCore()
   .AddJsonFormatters()
   .AddDataAnnotations(); // add this line

您需要注册MVC数据注释。当您使用light
AddMvcCore
方法而不是
AddMvc
时,默认情况下不会添加它。修改您的
ConfigureServices
方法:

services
   .AddMvcCore()
   .AddJsonFormatters()
   .AddDataAnnotations(); // add this line
services
   .AddMvcCore()
   .AddJsonFormatters()
   .AddDataAnnotations(); // add this line