0

当我向模型类添加验证规则时,可以向其中添加错误消息,但只能使用一种语言;如何为单个属性添加翻译成更多语言的错误消息?我是否要编写更多类“副本”或存在更好的方法来实现它?

Public Class Movie
    Public Property ID() As Integer

    <Required(ErrorMessage:="Title is required")>
    Public Property Title() As String

    <Required(ErrorMessage:="Date is required")>
    Public Property ReleaseDate() As Date

    <Required(ErrorMessage:="Genre must be specified")>
    Public Property Genre() As String

    <Required(ErrorMessage:="Price Required"), Range(1, 100, ErrorMessage:="Price must be between $1 and $100")>
    Public Property Price() As Decimal

    <StringLength(5)>
    Public Property Rating() As String
End Class
4

2 回答 2

2

您可以使用 ErrorMessageResourceType 和 ErrorMessageResourceName 参数来指向具有给定字符串的资源文件 (.resx):

<Required(ErrorMessageResourceType:=GetType(Namespace.ResxFile),ErrorMessageResourceName:="GenreMustBeSpecified")>
Public Property Genre() As String

然后,您必须为每种语言创建一个 *.resx 文件,例如:

  • ResxFile.resx - 默认
  • ResxFile.en-US.resx - 英语
  • ResxFile.de-DE.res - 德语
  • ...
于 2012-10-29T14:47:58.757 回答
0

使用资源文件并在 .resx 扩展名之前添加您的语言代码Resources1.en-US.resx

然后参考一下

[Required(ErrorMessage = MvcApplication1.Properties.Resources.ExampleResource)]

于 2012-10-29T14:58:30.577 回答