我有一个过滤器,将当前线程的 CurrentUICulture 设置为从 cookie 中提取的值
我有一个正在使用 FluentValidation 库进行验证的模型
[Validator(typeof(MyInputModelValidator))]
public class MyInputModel
public class MyInputModelValidator: AbstractValidator<MyInputModel>
{
public MyInputModelValidator()
{
var x = Thread.CurrentThread.CurrentUICulture.Name;
RuleFor(o => o.Country).NotEmpty().WithMessage(Resources.NoCountryError);
我希望此时更改线程文化,以便为错误消息提取正确的语言
如果我在上面的验证器上放一个断点,我可以看到线程的文化错误。
如果我进一步运行代码,它会在过滤器上遇到一个断点,从而改变线程的文化
如何在模型验证开始之前使过滤器代码运行
我已经尝试使用 filter 属性装饰控制器操作方法并在全局范围内应用它,例如
GlobalConfiguration.Configuration.Filters.Add(new LocalizationApiFilter());
这是 web api,而不是 mvc,虽然概念是一样的
有任何想法吗?