[Required]当 JSON 请求没有为枚举属性提供正确的值时,是否可以返回属性错误消息?
例如,我有一个 POST 消息模型,其中包含AddressType一个枚举类型的属性:
public class AddressPostViewModel
{
[JsonProperty("addressType")]
[Required(ErrorMessage = "Address type is required.")]
public AddressType AddressType { get; set; }
}
AddressType枚举接受两个值:
[JsonConverter(typeof(StringEnumConverter))]
public enum AddressType
{
[EnumMember(Value = "Dropship")]
Dropship,
[EnumMember(Value = "Shipping")]
Shipping
}
我注意到(或者实际上我的 QA 团队注意到)如果请求消息 JSON 包含空字符串或 null AddressType,则错误消息不是预期的Address type is required.消息。相反,错误消息是一个有点不友好的解析错误。
例如,如果请求 JSON 如下所示:
{ "addressType": "" }
然后验证框架自动生成的错误如下所示:
{
"message": "Validation Failed",
"errors": [
{
"property": "addressType",
"message": "Error converting value \"\" to type 'MyNamespace.AddressType'. Path 'addressType', line 4, position 19."
}
]
}
[Required]如果有人不包含枚举的有效值,是否有办法确保返回属性的错误消息?
开心每一天1111
喵喵时光机
慕的地6264312
潇潇雨雨
相关分类