我正在使用ServiceStack
FluentValidation
来验证DTO。
我知道我可以使用
自定义错误消息public class HeaderItemValidator : AbstractValidator<HeaderItem>
{
public HeaderItemValidator()
{
RuleFor(h => h.MCode).GreaterThan(0).WithMessage("Gotcha");
...
关键是我想将验证的内容放在一个特殊对象中,该对象部分包含一些请求DTO数据和我希望客户端接收的固定错误。
我能这样做吗?
答案 0 :(得分:4)
您可以通过创建自己的验证过滤器来完成此操作。
在AppHost插件配置中:
public override void Configure(Funq.Container container)
{
...
// Add the Error Response Filter
Plugins.Add(new ValidationFeature { ErrorResponseFilter = ValidationErrorFilter });
...
添加到您AppHost:
// Return your own validation result format here
public static object ValidationErrorFilter(ValidationResult validationResult, object errorDto)
{
// Loop through the validationResult create your own custom error response object.
// return your response object
}
希望这有帮助。