c# - Fluentvalidation 无法使用本地化名称

标签 c# fluentvalidation

我有这个验证器:

RuleFor(x => x.CardNumber).NotEmpty()
.CreditCard().WithLocalizedMessage(
    () => AppContext.FieldTranslationsContainer.Current.CardNumber.ErrorMessage);

WithLocalizedMessage 在运行时抛出异常。

在类型“IBorker.Commons.Configurables.FieldTranslation”上找不到名为“ErrorMessage”的属性。

这是成员(member):卡号

public FieldTranslation CardNumber { get; set; }

这是类(class):

public class FieldTranslation
{
    public string Title { get; set; }
    public string Helper { get; set; }
    public string ErrorMessage { get; set; }
}

谢谢

最佳答案

您必须将资源文件访问修饰符设置为“公共(public)”。 为此:

  1. 打开您的资源文件。
  2. 查找右上角的“访问修饰符”下拉菜单
  3. 将其设置为公开

关于c# - Fluentvalidation 无法使用本地化名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955932/

相关文章:

c# - 如何检查我的双变量是否是整数?

c# - 有谁知道 C# 的高级差异工具?

c# - 如何在堆栈跟踪中获取参数值

c# - FluentValidation 能否识别调用了哪些方法(PUT 或 POST)?

asp.net-mvc - 流利的验证不起作用的长度

c# - 试图将从多个函数返回的 "similar looking"元组映射到一个变量

c# - 为什么这个程序在 Release build 中进入 if block ,而在 Debug build 中不进入?

asp.net-core - 如何使用FluentValidation.AspNetCore和FluentValidation.MVC6?

c# - fluentvalidation 错误消息包含 c# 属性名称而不是客户端 json 属性名称?

asp.net-mvc - Fluent 验证和 IoC(独特字段)