モデルにこのプロパティがあるとします:
_[DisplayName("test")]
[Required(ErrorMessage = "required")]
public DateTime? SomeDate { get; set; }
_
Html.TextBoxFor(model => model.SomeDate)
に「asdf」と入力すると、「値 'asdf'はテストに無効です。」という検証エラーメッセージが表示されます。
そのメッセージをどのように変更しますか? ASP.NET MVCは[DataType(DataType.DateTime, ErrorMessage = 'some other message')]
を無視しました
どうやら私の質問は Asp.net MVC 2のデフォルトのModelStateエラーメッセージを置き換える方法 で既に回答されています。
ここで要約します。
MyNewResource.resx
。PropertyValueInvalid
を目的のメッセージ形式で追加します(たとえば、「コンテンツ{0}はフィールド{1}に対して無効です」)。 PropertyValueRequired
も変更したい場合は、同様に追加します。DefaultModelBinder.ResourceClassKey = "MyNewResource"
をGlobal.asaxスタートアップコードに追加します。設定はすべて完了です。
Asp.Net MVC 2-PropertyValueRequired文字列の変更
これはグローバル設定の変更です。