我正在处理asp.netcore-2.2错误,但我仍从响应中获取ErrorMessage详细信息
我有一个登录和注册方法,其中包含用于8到4个字符的注册所需的用户名,密码和密码长度,问题是我收到了预期的或针对该登录方法处理的错误消息,并且在以下情况下收到验证错误:我用空的用户名和密码注册。
我在ConfigureApiBehaviorOptions中添加了以下代码:
options.SuppressModelStateInvalidFilter = true;
这也是我尝试过的选项:
options.SuppressUseValidationProblemDetailsForInvalidModelStateResponses = true;
但是它不起作用。
这是我的注册DTO:
using System.ComponentModel.DataAnnotations;
namespace DatingApp.Api.Dtos
{
public class UserForRegisterDto
{
[Required]
public string Username { get; set; }
[Required]
[StringLength(8, MinimumLength= 4, ErrorMessage= "password between 4 and 8 charracters")]
public string Password { get; set; }
}
}
我希望看到此错误消息:
“ 4至8个字符之间的密码”
但是我在更改ConfigureApiBehaviorOptions
之前就已经知道了:
“标题”:“发生一个或多个验证错误。”, “状态”:400, “ traceId”:“ 0HLJIO56EGJEV:00000001”
,如果我使用ConfigureApiBehaviorOptions
,则会显示完整的表格,其中包含错误详细信息。
答案 0 :(得分:0)
public class UserForRegisterDto
{
[Required(ErrorMessage = "username is required")]
public string Username { get; set; }
[Required(ErrorMessage = "password is required")]
[StringLength(8, MinimumLength= 4, ErrorMessage= "password between 4 and 8 charracters")]
public string Password { get; set; }
}
我只是为必填字段添加错误消息。