問題タブ [modelstate]

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 投票する
3 に答える
13453 参照

c# - モデル状態のエラーメッセージではなく成功メッセージ

エラーメッセージ、検証エラーなどについては、

しかし、「あなたはあなたの元にたくさんのお金をうまく送金した」のような成功の応答をどこに置きますか?+「残高はゼロになりました」。それでも、コントローラーレベルで、できればKey-Valueの方法で、エラーメッセージと同じように、ただしmodelstateを無効にせずに設定したいと思います。

これは通常どのように行われますか?ViewData?

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

asp.net-mvc - ModelState にキーが存在しない場合、どうすれば追加できますか? aspnetmvc1

ASP.NET MVC v1 のバグを処理するコントローラーで回避策を作成しようとしています。このバグは、何も選択されていないリストボックスを投稿すると発生します ( http://forums.asp.net/p/1384796/2940954.aspx )。

簡単な説明: テキスト ボックスからの 2 つの日付と、リスト ボックスからの 1 つ以上の選択を受け入れるレポートがあります。リストボックスが何も選択されていない場合、検証を除いてすべてが機能します。

フォームが投稿されてコントローラーに到達すると、モデルには必要なすべての項目が含まれます。ただし、ModelState にはリストボックスのキー/値が含まれていません。解決するために、私はこのようなことがうまくいくことを望んでいました:

残念ながら、キーを追加しようとすると、次の例外がスローされます: System.NotSupportedException: ディクショナリから派生したキー コレクションの変更は許可されていません。

何か案は?

前もって感謝します!

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

asp.net-mvc - ASP.NET MVC レンダリング エンジンが予期しない HTML の結果を生成する理由を理解するのに役立ちます

フォームを含むモーダルポップアップがあります。ajax (jQuery を使用) 経由で送信されると、フォームが検証され、javascript コールバック関数がモデルが有効かどうかを確認します。そうであれば、モーダル ポップアップはリセットされて非表示になります。

jQuery ajaxSubmit と、POST 動詞のみを受け入れて PartialViewResult を返すアクションを使用して、ASP.NET MVC でこれを行っています。私は自分のサイトのいくつかの場所でこれを行っていますが、1 ページから 2 つのそのようなワークフローに問題があります。同じコードを使用して、一方は機能しますが、もう一方は機能しません。

問題は次のとおりです。

デバッグ中に、検証エラーが発生したときに ViewData.ModelState.IsValid が false であっても、「#ModelValid」が「True」に設定されます。明示的に false に設定する多くの方法を試しました (ViewData.ModelState.IsValid ? "True" : "False" など)。変数がfalseでポップアップが非表示になっている場合でも、常にtrueになります。何が起こっている?

参照用のコードは次のとおりです。

これはすべて、電子メール機能の同じ基本ページから離れた非常によく似たワークフローで完全に機能します (アドレスを取得し、ajax 投稿で検証し、検証エラーが存在する場合はポップアップを表示するポップアップ)。

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

asp.net-mvc - ユニットテストでは、asp.netMVCModelStateがnullです。なんで?

ModelStateは、単体テストで常にnullを返します。私は誰かが私に理由を教えてくれることを望んでいました。

次のコントローラーがあるとします。

このテストでは、ModelStateのテストがnullになります。

新しいViewResult()を返すようにコントローラーを変更した場合、nullは取得されません。

しかし...IsValid()は、このようにすると、そうではないはずのときにtrueを返します。

私はここで根本的に間違ったことをしていると思います、そして私は何を知りません。誰かが私を正しい方向に向けることができますか?

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

asp.net-mvc - MVC 2 データ注釈の問題

もう狂ってる。MVC 1 から 2 にアップグレードした MVC ソリューションがあります。

ここにいくつかのコードがあります:

コントローラーで:

ModelState は常に有効です。ただし、モデルは正しく設定されています。したがって、ユーザー名とパスワードの両方を空白のままにしてフォームを投稿しても、モデルの状態は引き続き有効です。ああ!

追加情報: IoD の構造マップを使用します。以前は、MVC 2 にアップグレードする前に MS データ注釈ライブラリを使用していたため、global.asax.cs に次のものがありました。

今それを削除しました。

私は本当に基本的で間違ったことをしていると確信しています。誰かがそれを指摘できれば、それは素晴らしいことです。乾杯

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

asp.net-mvc - TDD - ASP.NET MVC でのビジネス ルール/検証のテスト

シャープなアーキテクチャを使用しているため、単体テストや TDD でモックなどを簡単に使用できます。非常に複雑なビジネス ルールがあり、それらをコントローラー レベルでテストしたいと考えています。私は他の人がこれをどのように行うのか疑問に思っていますか?

私にとって、検証は 3 つのレベルでビジネス ルールをテストします。

(1) プロパティ レベル (例: プロパティは必須) (2) プロパティ内レベル (例: 開始日 < 終了日) (3) 永続性レベル (例: 名前は一意、親は子の子ではない)

私の検証フレームワークもプロパティにエラーを割り当てます。他の人はどうしているのだろう?ビジネス ルールごとにテストを作成し、正しいエラー メッセージが正しいプロパティに割り当てられているかどうかを確認しますか (つまり、ASP.MVC ModelState を調べますか)。

私の質問が理にかなっていることを願っています。どうもありがとう!

幸運をお祈りしています、

キリスト教徒

0 投票する
5 に答える
2227 参照

asp.net-mvc-2 - ASP.MVC 2 RTM + Id プロパティでの ModelState エラー

私はこのクラスを持っています:

そして、このアクション:

それが私の見解です:

しかし、ModelState は常に無効です。ご覧のとおり、MVC 検証では 0 は無効ですが、私にとっては有効です。Id プロパティに何らかの検証を行っていないので、どうすれば修正できますか?

更新: 方法や理由はわかりませんが、ID の名前を変更すると、私の場合は PK に変更され、この問題が解決します。

これが私のロジック/構成の問題なのか、それともバグなのか予期された動作なのかを知っていますか?

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

c# - ModelState で動作する ActionFilterAttributes をテストするにはどうすればよいですか?

このブログ投稿で (とりわけ) Kazi Manzur Ra​​shid が示唆しているようActionFilterAttributesに、リダイレクト時にモデルの状態をあるリクエストから別のリクエストに転送するために使用しています。

ただし、これらの属性の動作をテストする単体テストを作成することはできません。例として、これは のテストで実行したいことImportModelStateAttributeです。

  1. 偽の「エクスポート」filterContextを含むようにセットアップします(つまり、自分で作成し、エラーを1つ追加します)TempData[myKey]ModelStateModelStateDictionary
  2. ModelState1 つのモデル エラーを含むようにします。
  3. コールしOnActionExecutingます。
  4. 2 つの辞書がマージされ、両方のエラーModelStateが含まれていることを確認します。

私はすでに最初のステップで途方に暮れています。

編集:
はい、ActionFilterAttributeMoq でモックしようとしましたが、次のエラーが表示されます

上書き不可能なメンバーの設定が無効です

TempDataとの両方についてModelState

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

asp.net - ModelState は常に有効です

一見非常に単純に見えるものが機能していません。

私はモデルを持っています

ビューモデル

ビュー

そしてコントローラー

タイトルとして何を入力しても (null、または 10 文字を超える文字列)、ModelState.IsValid は常に true です。Customer オブジェクトの Title フィールドに値があるため、データは渡されますが、検証されませんか?

手がかりはありますか?

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

c# - Error with Property Validation in Form Submission in ASP.NET MVC

I have a simple form on an ASP.NET MVC site that I'm building. This form is submitted, and then I validate that the form fields aren't null, empty, or improperly formatted.

However, when I use ModelState.AddModelError() to indicate validation errors from my controller code, I get an error when my view is re-rendered. In Visual Studio, I get that the following line is highlighted as being the location of the error:

The error is the following:

NullReferenceException was unhandled by user code - object reference not set to an instance of an object.

My complete code for that textbox is the following:

Here's how I'm doing that validation in my controller:

Note: this applies to all of my fields, not just my Email field, as long as they are invalid.