【发布时间】:2022-01-11 16:38:17
【问题描述】:
我有以下枚举:
public enum Category
{
Fruits = 0,
Vegetables = 1,
Others = 2
}
领域层中的属性:
public List<Category> Category { get; set; }
当我使用 POST 创建资源时,如果在 Category 中输入的值不存在于枚举中,我会收到以下错误:
“错误”:{“$.category[0]”:[ "无法将 JSON 值转换为 Domain.Category。路径:$.category[0] | LineNumber:6 | BytePositionInLine: 23。"]}
我想使用 FluentValidation 来代替这个错误。
我尝试了RuleFor(x => x.Category.ToString()).IsEnumName(typeof(Category));,但没有成功。
您知道如何使用我的消息错误吗?例如:.WithMessage("The category {x} doesn't exist")
【问题讨论】:
-
请发布您的验证规则。但听起来 JSON 解析失败了。
-
尝试添加到构造函数 Category = new List
();
标签: c# json validation fluentvalidation