IValidatableObject.Validate()中的本地化

时间:2017-01-23 07:27:02

标签: c# .net validation localization data-annotations

我使用Data Annotations来验证我的Web API 2模型。对于基本的基于属性的验证(RangeModelMetadataProvider等),通过注入自定义IValidatableObject来提供本地化消息非常容易。但是,对于更复杂的规则,我实现了ValidationResult,它返回public class ValidationResult { public ValidationResult(string errorMessage); public ValidationResult(string errorMessage, IEnumerable<string> memberNames); }

的序列
ErrorMessageResourceName

看起来在这里无法指定.show:hover ul.list-categories{ max-height: inherit; opacity: 1; } .list-categories{ list-style-type: none; padding: 0px; margin: 0px; max-height: 0px; opacity: 0; overflow: hidden; transition: opacity 300ms ease; }。而且我不想让我的模型依赖于本地化提供商。我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:1)

如果在文化可用于系统之前调用IValidatableObject.Validate方法,则会发生这种情况。如果从控制器操作手动调用Validate方法,则错误消息已正确本地化。

你在哪里设定文化?你需要在控制器&gt;中设置它ExecuteCore 即可。请查看this帖子或This帖子可能有帮助。