0

Model クラスに検証規則を追加すると、エラー メッセージが追加される可能性がありますが、1 つの言語でのみです。1 つのプロパティについて、より多くの言語に翻訳されたエラー メッセージを追加するにはどうすればよいですか? クラスの「コピー」をもっと書く必要がありますか、それともそれを実装するためのより良い方法が存在しますか?

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

次に、次のように、言語ごとに 1 つの *.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 に答える