ModelStoreが無効であるため、ModelStoreが無効なため、ModelStoreが存在しないため、無効化されたモデルが見つかりません。 ModelErrorを追加していない場合、モデル状態を無効にしたものを特定する最も簡単な方法は何ですか?ViewData.ModelState.IsValidが偽になる原因
答えて
asp.net mvc source codeを参照すると、ModelStateDictionaryのIsValidプロパティは、Valuesプロパティに保持されているModelState ICollectionにエラーがあるかどうかによってtrueまたはfalseを返すだけです。
あなたはこのようなメッセージと例外を含むすべてのエラーを見つけることができるはずです。
foreach(var modelStateValue in ViewData.ModelState.Values)
{
foreach(var error in modelStateValue.Errors)
{
// Do something useful with these properties
var errorMessage = error.ErrorMessage;
var exception = error.Exception;
}
}
私は同様の問題に出くわしましたと、スティーブが提供ルーチンの同じ種類を使用してきた、例外を発見しましたHtml.ValidationSummaryに入っていない既定のモデルバインダーのどこかに投げ込まれていました(非はっきりと)。
私が持っていた特に問題は、 "true"と "false"の代わりに "1"と "0"の値を持つ "Yes"または "No"これらの値をブール値(私のエンティティのメンバーが期待していた値)に変換しようとすると、0がブール値に対して有効な値ではないことを示しています。
私の選択が無効であるという素晴らしいメッセージが生成されることを期待しましたが、代わりに私は空のValidationSummaryを扱いました。それは例外が飲み込まれたようだ! (そして今、将来私が見ているものです)これはMSにバグとして提出されるべきでしょうか?
これについての回答がありますか? –
これは数年前のことでしたが、私はその問題を思い出しましたが、私は答えを思い出すことはできません。私は、私が自分のバリデーションを実行するための特別なケースコードを書いてしまったかもしれないと考えています。これはデフォルトのモデルバインダーにもう依存しません。 (つまり、Request.Formを直接チェックして、自分自身でエラーを見つけ出すことは、ValidationSummaryが必ずしも役立たないとは限りません)。これはMVC 2に戻ってしまいました。 – Funka
- 1. 関数が常に偽を返す原因となる引数の使用
- 2. 原因スキームが見つからない原因:ftp
- 3. ExpectedException原因の原因?
- 4. ExpressionChangedAfterItHasBeenCheckedErrorが原因
- 5. が原因
- 6. ValidateInput(偽)とAllowHtmlはまだ原因が、私は私のモデルに持って
- 7. * ngFor原因となるテンプレートエラー
- 8. ALSA:snd_pcm_hw_params_free()がメモリエラーの原因となる
- 9. UIButtonがクラッシュの原因となる
- 10. SQLBulkCopyがデッドロックの原因となる
- 11. glTexImage2Dがメモリリークの原因となる
- 12. ユーザーコントロールが原因ヌルフィールドに
- 13. が原因Scriptブロック
- 14. が原因でパディング
- 15. 原因
- 16. EF多くの原因が重複の原因
- 17. が原因で無効な証明書
- 18. ImageViewがクリック可能でない原因
- 19. iOSクラッシュ、不明な原因
- 20. 原因:org.eclipse.swt.SWTException:無効なスレッドアクセス
- 21. ページが空白になる原因となるSQLクエリー
- 22. IEが互換性ビューモード(ASP.NET)になる原因となるテーブル
- 23. ページネーションが原因htaccessのルール
- 24. は、この原因ガベージコレクションが
- 25. hrefのリンクが原因CSS
- 26. スウィフトスクリプトが原因NSTask /プロセス
- 27. ルビーネット/ ftpのコードエラーが原因
- 28. が原因VT-xの
- 29. が原因壊れたファイル
- 30. のassertEqualsが原因でマルチライン
これは素晴らしいです! +1 – TheOptimusPrimus