0

だから...私はこの1つの難問を得ました。私のモデルは、約 15 の異なるフィールド (いくつかのブール フィールドとパスワード フィールドを含む) を持つ「ユーザー」です。便宜上、単一の大きなフォームを使用することはできません。代わりに、いくつかの異なる「サブモデル」にマップされる複数のフォームのタブ付きレイアウトを作成するというアイデアを思いつきました (サブモデルと呼ぶこともあると思います)。 ViewModels) を使用して、ユーザー コントローラーの特定のメソッドにポストします。次に、ユーザー コントローラーは ViewModel を検証し、合格した場合は元のユーザーを更新します。

問題は、検証が失敗した場合に何が起こるかです。ユーザーの完全なタブ付きレイアウトを再表示する方法を見つける必要があります (4 つのタブに 4 つのフォームがあり、4 つのモデルにマッピングされます)。検証に合格しません。問題は、4 つのフォームのどれが編集されたかに応じて、「返される」オブジェクトが 4 つのタイプの 1 つであるため、他の 3 つのフォーム (異なるタブ内) には、送信前の既存のユーザー データを入力する必要があることです。押した。

私はおそらく木を見て森を見ているわけではありませんが、誰かがこの種の問題へのアプローチを提案できますか?

編集: さらに情報を追加するには - 問題は - サーバー側の検証が失敗した場合、タブ付きレイアウトで編集フォームを再レンダリングする必要があり、検証エラー メッセージが表示されます。ユーザー入力を切り捨てて元の「ユーザー」データを再ロードすることでこれを簡単に行うことができますが、明らかに、入力を維持したいと思います。

4

0 に答える 0