我有这个验证器:
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)”。 为此:
- 打开您的资源文件。
- 查找右上角的“访问修饰符”下拉菜单
- 将其设置为公开
关于c# - Fluentvalidation 无法使用本地化名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955932/