ozc*_*cho 2 c# fluentvalidation servicestack
我们有一些请求过滤器,也使用验证功能.
[AttributeUsage(AttributeTargets.Method, Inherited = true)]
public class MyFilterAttribute : Attribute, IHasRequestFilter
{
...
}
Run Code Online (Sandbox Code Playgroud)
在AppHost中:
public override void Configure(Container container)
{
....
Plugins.Add(new ValidationFeature());
....
}
Run Code Online (Sandbox Code Playgroud)
我需要在请求过滤器之后运行流畅的验证,因为一些过滤器会将数据添加到dto然后进行验证.我已经看到了操作顺序但是没有说明验证的位置......至少我没有看到.
任何帮助,将不胜感激.
像ServiceStack中的大多数东西一样的ValidationFeature只是一个简单的插件,其源代码很容易找到,通过转到ServiceStack GitHub repo按'T'激活GitHub的查找文件功能并开始输入类名的部分,例如VFe将带来ValidationFeature直到第一个结果.
在ValidationFeature中,您可以在IPlugin.Register(IAppHost)功能中看到它的工作原理:
public void Register(IAppHost appHost)
{
if(!appHost.RequestFilters.Contains(ValidationFilters.RequestFilter))
appHost.RequestFilters.Add(ValidationFilters.RequestFilter);
}
Run Code Online (Sandbox Code Playgroud)
如上所示,仅注册全局请求过滤器.该操作顺序指出后全局请求过滤器执行过滤属性与优先级<0和过滤器之前,优先级属性>=0.