gpt4 book ai didi

c# - IValidatableObject.Validate() 中的本地化

转载 作者:行者123 更新时间:2023-11-30 12:22:13 28 4
gpt4 key购买 nike

我使用数据注释来验证我的 Web API 2 模型。对于基本的基于属性的验证(RequiredRange 等),通过注入(inject)自定义 ModelMetadataProvider 可以很容易地提供本地化消息。但是,对于更复杂的规则,我实现了 IValidatableObject,它返回 ValidationResult 序列:

public class ValidationResult
{
public ValidationResult(string errorMessage);
public ValidationResult(string errorMessage, IEnumerable<string> memberNames);
}

这里好像没有办法指定ErrorMessageResourceName。而且我不想让我的模型依赖于本地化提供商。我该如何解决这个问题?

最佳答案

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

您在哪里设置文化?你需要在 Controller > ExecuteCore 中设置它。请看this发布或This帖子可能会有所帮助。

关于c# - IValidatableObject.Validate() 中的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41801150/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com