【问题标题】:Customizing ServiceStack Validation Response自定义 ServiceStack 验证响应
【发布时间】:2013-12-30 18:29:26
【问题描述】:
我正在使用 ServiceStack FluentValidation 来验证 DTO。
我知道我可以使用自定义错误消息
public class HeaderItemValidator : AbstractValidator<HeaderItem>
{
public HeaderItemValidator()
{
RuleFor(h => h.MCode).GreaterThan(0).WithMessage("Gotcha");
...
关键是我想将验证的内容放在一个特殊对象中,其中部分包含一些请求 DTO 数据和我希望客户端接收的固定错误。
我可以这样做吗?
【问题讨论】:
标签:
c#
servicestack
fluentvalidation
【解决方案1】:
您可以通过创建自己的验证过滤器来做到这一点。
在您的 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
}
希望这会有所帮助。