MVCで'data-val-number'メッセージの検証を@Htmlヘルパーで生成している間に変更する方法
質問
このモデルを想定してください。
Public Class Detail
...
<DisplayName("Custom DisplayName")>
<Required(ErrorMessage:="Custom ErrorMessage")>
Public Property PercentChange As Integer
...
end class
と表示されます。
@Html.TextBoxFor(Function(m) m.PercentChange)
はこのhtmlを進めます。
<input data-val="true"
data-val-number="The field 'Custom DisplayName' must be a number."
data-val-required="Custom ErrorMessage"
id="PercentChange"
name="PercentChange" type="text" value="0" />
をカスタマイズしたい。
data-val-number
エラーメッセージをカスタマイズしたいのですが、これは
PercentChange
が
Integer
. 変更するために、そのような属性を探していました。
range
または何か関連するものは動作しません。
unobtrusiveのjsファイル自体を編集するか、クライアント側でオーバーライドする方法があるのは知っています。私は変更したいです
data-val-number
のエラーメッセージをサーバーサイドで他のものと同じように変更したいのです。
どのように解決するのですか?
これは簡単なことではありません。デフォルトのメッセージは、埋め込みリソースとして
System.Web.Mvc
アセンブリに埋め込まれたリソースとして保存されており、フェッチするメソッドは内部でシールされたインナークラス (
System.Web.Mvc.ClientDataTypeModelValidatorProvider+NumericModelValidator.MakeErrorString
). Microsoft でこれをコーディングしている人は、まるでトップ シークレットを隠しているようです :-)
次のものを見てみてください。 ブログ記事 をご覧ください。基本的には、既存の ClientDataTypeModelValidatorProvider を置き換える必要があります。 をカスタムのものに置き換える必要があります。
ハードコアなコーディングが必要なのが嫌なら、ビューモデル内のこの整数値を文字列に置き換え、カスタムバリデーション属性でパースし、カスタムエラーメッセージを提供することもできます (ローカライズすることもできます)。
関連
-
[解決済み] プロジェクトのデフォルトのXMLネームスペースはMSBuild XMLネームスペースである必要があります。
-
[解決済み] MVC 3 - 辞書に渡されたモデル項目の型は 'System.Collections.Generic.List`1 です。
-
[解決済み] ASP.NET MVCでHTML-5のdata-*属性でダッシュを使用する方法
-
[解決済み】ASP.NET MVC 3 RazorでAjax.BeginFormを使用する。
-
[解決済み】Html5 data-* with asp.net mvc TextboxFor html attributes
-
[解決済み】MVC 4 Razor ファイルアップロード
-
[解決済み】jQuery Ajaxの呼び出しとHtml.AntiForgeryToken()について)
-
[解決済み】リポジトリとサービスレイヤーの違い?
-
[解決済み】ASP.NET MVC 3 - 部分テンプレートと表示テンプレートと編集テンプレート
-
[解決済み] asp.net mvc: なぜ Html.CheckBox は追加の隠された入力を生成するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] RedirectToActionのパラメータとしてmodelを渡すことはできますか?
-
[解決済み] Automapper のタイプマップ構成がない、またはサポートされていないマッピング - エラー
-
[解決済み] ルート値を含むURL.Action()
-
[解決済み] 修正方法: ハンドラ "PageHandlerFactory-Integrated" のモジュールリストに "ManagedPipelineHandler" という不正なモジュールが含まれています。
-
[解決済み] ASP.NET MVCのビューを文字列としてレンダリングする方法は?
-
[解決済み] MVCにおけるViewModelとは?
-
[解決済み】ASP.NET RazorのHTML.ActionLinkとUrl.Actionの比較
-
[解決済み】Html.ActionLinkを使用して別のコントローラのアクションを呼び出す
-
[解決済み] ASP.NET MVCにおけるセッション変数
-
[解決済み] Razorを使ってエンコードされていないJsonをViewに書き込むにはどうしたらいいですか?