2012-04-01 17 views
1

私は作成用と編集用の2つの顧客ビューを持っています。私は両方に対して同じ顧客ビューモデルを使用しています。私は、顧客のフィールドを必要としないようにしたいのですが、編集はできません。ASP.NET MVCさまざまなビューでビューモデルを使用

viewfieldプロパティにrequiredfield属性を設定した場合、両方のビューには、必要に応じて 'Customer No'というフラグが設定されます(期待どおり)。

この問題を回避するための組み込みのソリューションはありますか、それとも2つの別々のビューモデルを作成する必要がありますか?

おかげ

答えて

1

これはthis questionに似ています。

2つのビューモデルを編集してアクションを作成することを強くお勧めします。それはたくさんのクリーナーです。私があなたに与えたリンクの最後の答えは、回避策を作り、ModelStateのエラーを無効にします。

0

作成には顧客番号は必須ですが、編集はできません。

作成する場合は番号が必要で、編集するときには番号がそのまま残ります。

あなたは編集時に顧客番号を削除できますか?または、顧客番号が必要であることを意味しますか?編集時に編集できないようにするには?

これが後者の場合は、必要に応じて顧客をノーとすることができます。編集ビュー(テキストボックスではない)にnoを表示し、非表示の入力を使用して番号を入れて投稿します。

0

ちょうど概念のタイプの提案です。モデルから必要な検証属性を削除します。あなたのコントローラーでは、パラメーターをオプションにして、どのアクション(編集または作成)に応じて手動でいくつかのタイプのバリデーションを追加します。

jQueryの検証を使用すると、手動ルートに進むと入力に基づいてクライアントから検証することができます。

関連する問題