3

プログラムでモデルのリストを1つずつ検証したいと思います。

TryValidateModelを試しましたが、検証エラーが集約されているように見えます。そのため、10 個のモデルのリストを反復処理すると、5 番目のモデルが有効でない場合、モデル 6 ~ 10 の TryValidateModel はfalseを返します。

4

1 に答える 1

3

コントローラ メソッドValidateModelまたはを使用できますTryValidateModel

ValidateModel- モデルが有効でない場合、例外をスローします。

TryValidateModel- モデルが有効かどうかを示す bool を返します。

MSDNから:

モデルが検証されているとき、少なくとも 1 つのフォーム入力がモデル プロパティにバインドされている場合、すべてのプロパティのすべてのバリデータが実行されます。TryValidateModel は、モデルの検証が失敗した場合に TryValidateModel メソッドが InvalidOperationException 例外をスローしないことを除いて、ValidateModel メソッドに似ています。

モデルのリストを1 つずつ検証する場合は、 を呼び出して反復ごとに ModelState をリセットすることをお勧めしますModelState.Clear()

于 2013-11-15T07:14:15.423 に答える