1

一度に送信される多数のマルチパートデータを含む非常に大きな注文フォームに取り組んでいます。私はそのトリックを使用して、HTMLで30〜40のアイテム行をレンダリングし、ユーザーがjQueryを使用して多かれ少なかれ「表示」または「非表示」にできるようにします。

問題は、たとえば3つの行が「表示」されていて、たまたま3つすべてが完全に入力されている場合でも、27の無効な(空の)アイテムが追加で送信されるため、モデルが検証されないことです。

私の解決策は、組み込みのモデル検証をねじ込み、ModelState.AddModelError()でカスタムモデル検証を使用することでしたが、コントローラーレベルでモデル検証を繰り返さなければならないような気がします。

これを処理するためのより良い方法はありますか?

4

2 に答える 2

0

ありがとうございますが、jQueryを使用して、送信ボタンのonclickイベントで各行を繰り返し、DOMから空の行を削除しました。

于 2010-10-29T21:51:58.457 に答える
0

大きなフォームを複数のフォームに分割します。各フォームは異なるステップを表します。大きなモデルを、それぞれが特定のステップに対応する複数のビューモデルに分割します。フォームの送信を調整し、手順を表示/非表示にする場合は、jqueryで段階的に拡張します。

于 2010-10-23T09:46:18.010 に答える