C# fluent验证自定义消息,具体取决于其他属性
我有这个实体C# fluent验证自定义消息,具体取决于其他属性,c#,fluentvalidation,C#,Fluentvalidation,我有这个实体 public class Entity { [Key] public int Id { get; set; } public int RequestTypeId { get; set; } public int DepartmentTypeId { get; set; } ... } 我想在DepartmentTypeID上显示不同的错误消息,具体取决于RequestTypeId
public class Entity
{
[Key]
public int Id { get; set; }
public int RequestTypeId { get; set; }
public int DepartmentTypeId { get; set; }
...
}
我想在DepartmentTypeID
上显示不同的错误消息,具体取决于RequestTypeId
例如:
When(m => m.RequestyTypeId == 1,
() => {
RuleFor(m => m.DepartmentTypeID).NotEmpty().WithMessage("Custom Message 1");
});
When(m => m.RequestyTypeId == 2,
() => {
RuleFor(m => m.DepartmentTypeID).NotEmpty().WithMessage("Custom Message 2");
});
这不起作用。。。我做错什么了吗?如何处理这种情况?代码看起来正确。您是只看到一个错误还是没有看到任何一个错误?我看到默认的.net MVC错误->“'Department Type I D'不能为空”或类似的内容。我看不到自定义消息。如果我将RuleFor移到外部,它将正常工作。如果在任一时间中添加一个RuleFor,则新的RuleFor工作,但DepartmentTypeID RuleFor不工作。如果这有道理的话。。。这有点奇怪,可能和MVC有关。我可以使用您输入的内容在控制台应用程序中看到正确的行为。如果你试着像这样使用比更伟大的
会怎么样;它在功能上与(m=>m.DepartmentTypeID)的NotEmpty
-规则相同。大于(0)。WithMessage(“自定义消息1”)代码>