問題タブ [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.
model-view-controller - 複数のViewModelを持つMVC 3 ModelState.IsValid
他の 3 つの ViewModel で構成される ViewModel があるとしましょう。1 つは項目のリストを含み、もう 1 つは [Required] 属性を持つクラスのインスタンスを含み、次に他の項目の別のリストを含みます。
ユーザーが 2 つのリストのいずれかの項目のいずれかを選択した場合、2 番目のオブジェクトの [Required] 属性によって ModelState が無効になることは望ましくありません。 [必須] 属性の項目をフォームに入力する必要があります。
どうすればこの問題を解決できますか?
asp.net-mvc - ASP.netMVC単体テストのModelStateエラーディクショナリのエラーメッセージにアクセスします
次のようなアクション結果にキーと値のペアを追加しました。
私はユニットテストでこれらのようないくつかの厄介なコードを持っています:
もちろん、エラーが1つしかない場合はいつでも機能します。
私は好きではありませんfacilities.ViewData.ModelState["Error"].Errors.FirstOrDefault().ErrorMessage
。
その辞書から値を取得する簡単な方法はありますか?
asp.net - 非同期コントローラーでモデル状態を検証する方法
非同期コントローラーを使用しようとしていますが、ユーザー入力を検証する方法がわかりません。
以下は、私のコントローラーで定義された 2 つの非同期メソッドです。SearchAsync メソッドまたは SearchCompleted メソッドで ModelState.IsValid を確認する必要があります。SearchAsync の場合、戻り値の型が void であるため、どのようにビューの結果が返されますか。SearchCompleted の場合、メソッドは searchForm パラメータをどのように認識しますか。
jquery - asp.net-mvcで、PartialView()からJson応答に移行する場合、ModelState検証エラーを表示するにはどうすればよいですか?
私はasp.net-mvcWebサイトを持っており、サーバーでPartialView()を使用してポップアップを移行し、Json()応答を返すだけです(クライアント側でバインディングを実行します)。この場合、それは約10倍速いように見えます。これは素晴らしいことです。
私が遭遇した1つの問題は、既存のコードが問題の検証とUIの強調表示にModelStateを多く活用していることです。
サーバーからJson()応答を受信しているだけの場合、検証を行うための推奨される方法はありますか?
特に:1。ModelStateエラーをGuiに返すための推奨される方法は何ですか(そして、asp.net-mvcmodelstateで箱から取り出したのと同じ赤いハイライトとバインディングを取得します。2。引き続きmodelstateまたはditchを使用する必要があります別の完全なソリューションのためにそれを。3。この移行中に心配する他の何か。
asp.net-mvc-2 - ModelState.AddModelError-プロパティ以外のエラーを追加するにはどうすればよいですか?
データベースをチェックインして、とがその組み合わせにすでに存在するCreate(FooViewModel fvm){...}
かどうかを確認しています。もしそうなら、モデル状態にエラーを追加してから、ビュー全体を返します。私は試した:fvm.prop1
fvm.prop2
...しかし、エラーが表示されるHtml.ValidationSummary
と思われる場所にエラーが表示されません。「モデル」が正しいキーではないのではないかと疑っていますが、Googleでは何も見つかりませんでした。
asp.net-mvc - カスタムモデルバインディング、モデル状態、およびデータ注釈
カスタムモデルのバインド、モデルの状態、およびデータの注釈に関していくつか質問があります。
1)モデルにデータ注釈がある場合、カスタムモデルバインダーで検証を行うのは冗長ですか?それがデータ注釈のポイントであると私が思ったからです。
2)コントローラーがモデルの状態を有効でなくても有効として扱うのはなぜですか。主にNameプロパティをnullまたは短すぎます。
3)カスタムモデルバインダーをコンストラクターメソッドと考えても大丈夫ですか。それが私に思い出させてくれるからです。
まず、私のモデルです。
次に、カスタムモデルバインダーを使用して、モデルのいくつかのプロパティをバインドしています。それを機能させてからリファクタリングしようとするだけで、速くて汚いことを気にしないでください。
今私のコントローラーのアクション。
編集
別のstackoverflowの質問でいくつかのコードを見つけましたが、どの時点でこの可能なソリューションに次の値を挿入するかわかりません。
新しいオブジェクトが作成されたときに注入したいもの:
上記のコードを以下のものにするにはどうすればよいですか(可能な解決策):
javascript - ModelState.IsValid が検証に失敗しました!
だから私はコンタクトフォームの電子メールを送信するために使用する単純なクラスを持っています。
上記は私のクラスで、私のコントローラーは次のとおりです
何らかの理由で、ModelState.IsValid は true として返されますが、EnquiryEmail オブジェクトを調べて、それらに対して「必須」の検証を持つ値に対して null を確認できます。
ModelState.IsValid を調べると、4 つの値が表示されます。Null は、実際には「AttemptedValues」という名前のプロパティの下に空の文字列として表示されます。それがここでの問題なのか、それとも単に ModeState が行うことなのかはわかりません!
いずれにせよ、正しく検証されていません。それが何であるかについてのアイデアはありますか?
asp.net-mvc - ModelStateエラーをTempDataにコピーし、ビューに表示します
私のアクションメソッドのほとんどは、成功するとPartialViewsを返し、失敗するとRedirectToActionの結果を返します。そのために、モデル状態エラーをTempDataにコピーして、ユーザーに表示できるようにします。SOといくつかの外部リンクに関するいくつかの質問をここで読みましたが、どれもうまくいきませんでした... MvcContribのModelStateToTempData
属性でActionMethodを装飾し、ビューに次のように表示しています:(これは単なるプロトタイプです)
エラー自体を表示するのではなく、取得し続けSystem.Web.Mvc.ValueProviderResult
ます。これがすべて間違っていることはわかっています。最終的には、モデルの状態エラーをTempData内のディクショナリにフィルタリングしたいのですが、今のところ、ビューにエラー文字列を表示したいだけです。
PS:MvcContrib属性を使用せずに手動で実行しようとしましたが、同じ結果が得られました。しかし、私は自分のコードを使用することを好みます。そうすれば、問題全体をより細かく制御できるようになります。
助言がありますか?
jquery - ModelState エラーを維持しながら MVC ajax と PartialViews を使用する方法
MVC3を使用しています。送信時に、ページを更新する PartialView を返すフォームがあります。質問/問題は、エラーが発生したときに ModelState エラーを表示し、フォームの値をそのまま維持するにはどうすればよいですか?
この質問は以前に尋ねられたようですが (以下の参考文献を参照)、完全な回答/解決策をまだ見つけていませんが、混乱しています...
- モデルの状態を維持するASP.Net MVC部分ビュー?
- http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/
- ビューを文字列としてレンダリングする
私の非常に単純なモデル
私のビューは次のようになります。
そして、私の PartialView は出力を吐き出すだけです:
そして、私のController Actionメソッドはこのように
問題は、ModelState エラーでビューを返す方法です。
私が提供したリンクでは、クライアント側がエラー対成功条件 (つまり、RenderPartialViewToString) を検出できるように、ステータス コードを含む json を返すことについての話があります。しかし、これがどのように接続/消費されるのか、私にはよくわかりません。
例: 成功した場合、部分ビューのみを表示しますか? エラーの場合、更新された ModelState でページを更新するだけですか? 誰かがピースをリンクして、エンドツーエンドの例、つまり View/jquery ajax 呼び出しを示すことができますか?
余談:代替の実装として、このアプローチに似たものを使用して動作させましたが、わかりません...それは間違っているようで、成功した場合よりも多くのページを更新しているためですシナリオ。
http://jvance.com/blog/2010/02/20/MakingAnAjaxFormWithJQueryInASPdotNETMVC.xhtml
たとえば、コントローラーは次のようになります。PartialViews には、成功バージョンとエラー バージョンの両方で「フォーム」コードが含まれています。
ありがとう
asp.net-mvc - c#mvc構造-簡単な質問
ここにいくつかの情報が必要です。私はMVCでまったく新しいので、皆さんにとっては、答えるのは簡単な質問になると思います。私は次の構造を持っています:
Controller.cs
最後に、PageMainビューには次のものがあります。
さて、今、私の質問は次のとおりです。そのような構造は有効ですか(ここで有効とは、それが適切に構造化されているか、より良い方法があるかどうかを意味します)?ModelState.AddModelError()
パーシャルビュー'Partial1'のメソッドで例外に到達するにはどうすればよいですか?
混乱している場合は、要約すると次のようになります。
- PageMainには、url-parameterに従って作成されたテーブルがあります。実際には、別の部分ビューで作成されていますが、PageMainに表示されます
- テーブルを編集すると、フォームはフォームアクションにリダイレクトします。フォームアクションは、データベースを編集するためにコードが実行されます。
- 最後に、エラーが発生した場合、ユーザーはFormActionに残りますが、このページで使用されるビューは引き続きPageMainです。同じページを2回作成するようなものであるため、このページに別のビューはありません。つまり、別のビューを作成したくないエラーを示す部分ビューを含めるだけです。代わりに、エラーが発生した場合にのみ、if-elseロジックを使用して部分ビューを表示しようとしています。