プログラムでモデルのリストを1つずつ検証したいと思います。
TryValidateModelを試しましたが、検証エラーが集約されているように見えます。そのため、10 個のモデルのリストを反復処理すると、5 番目のモデルが有効でない場合、モデル 6 ~ 10 の TryValidateModel はfalseを返します。
プログラムでモデルのリストを1つずつ検証したいと思います。
TryValidateModelを試しましたが、検証エラーが集約されているように見えます。そのため、10 個のモデルのリストを反復処理すると、5 番目のモデルが有効でない場合、モデル 6 ~ 10 の TryValidateModel はfalseを返します。
コントローラ メソッドValidateModel
またはを使用できますTryValidateModel
。
ValidateModel
- モデルが有効でない場合、例外をスローします。
TryValidateModel
- モデルが有効かどうかを示す bool を返します。
MSDNから:
モデルが検証されているとき、少なくとも 1 つのフォーム入力がモデル プロパティにバインドされている場合、すべてのプロパティのすべてのバリデータが実行されます。TryValidateModel は、モデルの検証が失敗した場合に TryValidateModel メソッドが InvalidOperationException 例外をスローしないことを除いて、ValidateModel メソッドに似ています。
モデルのリストを1 つずつ検証する場合は、 を呼び出して反復ごとに ModelState をリセットすることをお勧めしますModelState.Clear()
。