問題タブ [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.
c# - 共有ホストに発行された後、Razor が別の HTML を生成する
モデルクラス:
かみそり:
Visual Studio 2012/Chrome での実行時に生成されたコード。
共有ホストへの公開後に生成されたコード
VS 経由で実行されているサイトに生成された html コードが多いのはなぜですか? ( class="input-validation-error">
など )
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"はどこに行くのでしょうか? それに基づいてエラーを選択する方法は?
これを行うより良い方法はありますか?
asp.net-mvc - ナビゲーション プロパティをキーで読み込む
私はEF CFアプローチを使用しており、次のものを持っています:
次のデータ モデル:
次の DataContect 定義:
このコードの目的は次のとおりです。
ASP.NET MVC 4 アプリケーションがあります。Product エンティティを編集するためのフォームと、Category.CategoryID プロパティにバインドされた Category エンティティの「ルックアップ」セレクター/エディターがあります。
対応する HttpPost アクションにフォームを送信するとき、Product.Category.CategoryName はまだ空です。このスコープには、Category オブジェクトの直接のインスタンスがありません。
その結果、いくつかのモデル検証エラーが発生します。CategoryID は既にわかっているため、Product の Category プロパティを明示的に割り当て/再読み込みする必要があります。
だから私の質問は:
追加の手順を実行せずに、キー/ID によってナビゲーション プロパティを強制的に読み込むにはどうすればよいですか (したがって、ModelState エラーを回避します)。
私は間違った方向に進んでいるかもしれません。どんなガイダンスも役に立ちます。
.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
。
これを解決するにはどうすればよいですか?
asp.net-mvc - Asp.net MVC の null 許容 DateTime モデルの状態の検証
私のビュー モデルには、BirthDate という null 許容の DateTime プロパティがあります。
コントローラーに無効な DateTime 値を送信すると、ModelState.IsValid が false になり、BirthDate が無効な DateTime であると通知されます。
ModelState を無効にする代わりに、無効な null 許容 DateTime を null 値として扱うようにするにはどうすればよいですか?
asp.net-mvc - 入力値をプログラムで変更している間、MVC クライアント検証の実行を抑制することはできますか?
入力ボックスにデフォルト値があらかじめ入力されているフォームがあります。フィールドが空の場合、jQuery イベント ハンドラーは「focus」の値をクリアし、「blur」のデフォルト値を復元します。
(AJAX 経由で) 送信する前に、デフォルト値を含むすべてのフィールドを空にし、クライアント側の検証をトリガーします (必須フィールドの場合)。
これまでのところ、とても良いですが、その後、私のフォームフィールドはもちろん空です. 「ぼかし」イベントを再度トリガーすると、デフォルト値を復元できますが、おそらくクライアント側の検証が再度実行され、フィールドが空ではないことが確認されるため、検証メッセージが消えます。
ただし、フォーム フィールドを手動でクリックすると、デフォルト値が復元され、検証メッセージが表示されたままになります。どちらも同じ「ぼかし」ハンドラを通過します。違いがどこにあるのかわかりません。
編集: 以来、「ぼかし」の検証を完全に無効にできることがわかりました:
これは今のところ私の問題を回避しますが、スクリプトまたはユーザーの操作からトリガーされたときに、blur/focusout の反応が異なる理由を知りたいです。