問題タブ [asp.net-mvc-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
269 参照

c# - 共有ホストに発行された後、Razor が別の HTML を生成する

モデルクラス:

かみそり:

Visual Studio 2012/Chrome での実行時に生成されたコード。

共有ホストへの公開後に生成されたコード

VS 経由で実行されているサイトに生成された html コードが多いのはなぜですか? ( class="input-validation-error">など )

0 投票する
1 に答える
1767 参照

asp.net-mvc - ModeState.AddModelError( key,value) によって追加されたキーを使用して実行時に ModelState エラーを取得する方法

を使用してコントローラーからモデルエラーを追加しました

if( モデル プロパティが選択されていません) { ModelState.AddModelError("SelectionRequired","Please select atleast one value"); }

このエラーは、同じメソッドの多くの場所に追加していますが、最終的には、ModelState エラー コレクションからそのようなメッセージを 1 つだけユーザーに表示したいと考えています。

そのために、ビューに戻る前に、1 つを除いて同様のメッセージをすべて削除する必要があります。

「少なくとも 1 つの値を選択してください」を使用せずに、 「SelectionRequired」キーを使用してこのメ​​ッセージを削除するにはどうすればよいですか。この「SelectionRequired」はモデル プロパティ名ではなく、単に使用したいキーです。

実行時にModelState.Keysコレクションをチェックしましたが、これらのコレクションには「SelectionRequired」がまったく表示されず、ModelState.Valuesコレクションにも表示されません。では、このキー * "SelectionRequired"はどこに行くのでしょうか? それに基づいてエラーを選択する方法は?

これを行うより良い方法はありますか?

0 投票する
0 に答える
104 参照

asp.net-mvc - ナビゲーション プロパティをキーで読み込む

私はEF CFアプローチを使用しており、次のものを持っています:

次のデータ モデル:

次の DataContect 定義:

このコードの目的は次のとおりです。

ASP.NET MVC 4 アプリケーションがあります。Product エンティティを編集するためのフォームと、Category.CategoryID プロパティにバインドされた Category エンティティの「ルックアップ」セレクター/エディターがあります。

対応する HttpPost アクションにフォームを送信するとき、Product.Category.CategoryName はまだ空です。このスコープには、Category オブジェクトの直接のインスタンスがありません。

その結果、いくつかのモデル検証エラーが発生します。CategoryID は既にわかっているため、Product の Category プロパティを明示的に割り当て/再読み込みする必要があります。

だから私の質問は:

追加の手順を実行せずに、キー/ID によってナビゲーション プロパティを強制的に読み込むにはどうすればよいですか (したがって、ModelState エラーを回避します)。

私は間違った方向に進んでいるかもしれません。どんなガイダンスも役に立ちます。

0 投票する
2 に答える
312 参照

.net - asp.net mvc のエディター テンプレートのリモート属性

Country クラス (モデル) には次の 2 つのプロパティがあります。

上記のメソッドIdに渡されることを期待していますCheckName。私は次のようにCheckNameメソッドを持ってCountryControllerいます:

Country クラスのエディター テンプレートを使用しています。@Html.EditorFor(m => m.Country)

Id プロパティは、ID が Country_Id、名前が Country.Id の非表示フィールドとしてレンダリングされています。名前フィールドを編集しているときにCheckName、必要な値を取得していません (名前は null になり、ID は 0 (デフォルト値) になります)

Fiddler をチェックインしました。リクエストは としてサーバーに送られますGET /Country/CheckName?Country.Name=abc&Country.Id=0 HTTP/1.1

これを解決するにはどうすればよいですか?

0 投票する
2 に答える
2746 参照

asp.net-mvc - Asp.net MVC の null 許容 DateTime モデルの状態の検証

私のビュー モデルには、BirthDate という null 許容の DateTime プロパティがあります。

コントローラーに無効な DateTime 値を送信すると、ModelState.IsValid が false になり、BirthDate が無効な DateTime であると通知されます。

ModelState を無効にする代わりに、無効な null 許容 DateTime を null 値として扱うようにするにはどうすればよいですか?

0 投票する
0 に答える
272 参照

asp.net-mvc - 入力値をプログラムで変更している間、MVC クライアント検証の実行を抑制することはできますか?

入力ボックスにデフォルト値があらかじめ入力されているフォームがあります。フィールドが空の場合、jQuery イベント ハンドラーは「focus」の値をクリアし、「blur」のデフォルト値を復元します。

(AJAX 経由で) 送信する前に、デフォルト値を含むすべてのフィールドを空にし、クライアント側の検証をトリガーします (必須フィールドの場合)。

これまでのところ、とても良いですが、その後、私のフォームフィールドはもちろん空です. 「ぼかし」イベントを再度トリガーすると、デフォルト値を復元できますが、おそらくクライアント側の検証が再度実行され、フィールドが空ではないことが確認されるため、検証メッセージが消えます。

ただし、フォーム フィールドを手動でクリックすると、デフォルト値が復元され、検証メッセージが表示されたままになります。どちらも同じ「ぼかし」ハンドラを通過します。違いがどこにあるのかわかりません。

編集: 以来、「ぼかし」の検証を完全に無効にできることがわかりました:

これは今のところ私の問題を回避しますが、スクリプトまたはユーザーの操作からトリガーされたときに、blur/focusout の反応が異なる理由を知りたいです。