我的目标只是为Required-Annotation显示特定于语言的错误消息:
[Required(ErrorMessageResourceName = "LastNameRequired", ErrorMessageResourceType = typeof(ValidationMessage))]
LastNameRequired是资源文件中字符串的键,ValidationMessage是资源文件生成的类型。资源文件位于同一个项目和命名空间中。
我将资源文件的访问修饰符更改为 public 。 Build Action位于嵌入式资源。
实际行为是,它不显示错误消息,甚至不显示该属性的错误。如果我从属性中删除ErrorMessage * -Attribute,一切正常。
[Required]
答案 0 :(得分:0)
使用生成的资源类时,请检查它是否具有公共属性。资源只有默认的内部属性,因此您必须在解决方案资源管理器中选择资源文件(.resx),然后在窗口属性中将“自定义工具”字段值“ResXFileCodeGenerator”替换为“PublicResXFileCodeGenerator”,然后重建解决方案......
答案 1 :(得分:0)
我找到了解决方案。发生了这个问题,因为我没有使用default-namespaces。我不得不在项目文件中为链接资源添加一个元素。