立即模型状态 returns .Net Core 5
Model state returns right away .Net Core 5
我有一个自定义验证属性
public class IsUsernameAcceptableAttr:ValidationAttribute
{
protected override ValidationResult IsValid(object username, ValidationContext validationContext)
{
var _username = username.ToString();
if (_username.Length<4)
return new ValidationResult("Username must be at least 4 characters.");
return ValidationResult.Success;
}
}
在我的 DTO class 我有
public class UserAccountInformationDTO
{
[IsUsernameAcceptableAttr]
public string Username { get; set; }
}
在动作方法中我得到了
public IActionResult UpdateAccountInformationstring(UserAccountInformationDTO accountInfo)
{
var ms = ModelState.IsValid;
return Ok();
}
问题是当模型状态遇到错误时,它会在 errors
中将响应作为 JSON 响应发回。我从来没有在控制器中做任何事情或改变对我想要的格式的响应。我还能做什么?
您需要指定参数来源
更新:
将以下代码添加到您的启动 ConfigureServices:
services.Configure<ApiBehaviorOptions>(apiBehaviorOptions => {
apiBehaviorOptions.SuppressModelStateInvalidFilter = true;
});
我有一个自定义验证属性
public class IsUsernameAcceptableAttr:ValidationAttribute
{
protected override ValidationResult IsValid(object username, ValidationContext validationContext)
{
var _username = username.ToString();
if (_username.Length<4)
return new ValidationResult("Username must be at least 4 characters.");
return ValidationResult.Success;
}
}
在我的 DTO class 我有
public class UserAccountInformationDTO
{
[IsUsernameAcceptableAttr]
public string Username { get; set; }
}
在动作方法中我得到了
public IActionResult UpdateAccountInformationstring(UserAccountInformationDTO accountInfo)
{
var ms = ModelState.IsValid;
return Ok();
}
问题是当模型状态遇到错误时,它会在 errors
中将响应作为 JSON 响应发回。我从来没有在控制器中做任何事情或改变对我想要的格式的响应。我还能做什么?
您需要指定参数来源
更新:
将以下代码添加到您的启动 ConfigureServices:
services.Configure<ApiBehaviorOptions>(apiBehaviorOptions => {
apiBehaviorOptions.SuppressModelStateInvalidFilter = true;
});