2012-02-16 13 views
0

に応じて:asp.net MVCの動的検証私はそうのようなビューモデルを持って行動

public class AccountView { 
    public int AccountId { get; set; } 
    [Required] 
    public string AccountName { get; set; } 
} 

しかし、私はアクションが「編集」である場合にのみ、アカウント名フィールドが必要とされることが好きではなく、「作成します"これはasp.net mvc3でどのように達成されますか?

ありがとうございました。

答えて

0

カスタムバリデーターを実装できます。 Validateメソッドの中に入ると、(((System.Web.Mvc.ModelValidator)(this))))のようなプロパティにアクセスできます.ControlContext.Controller ContollerContext、ViewDataなどを調べることができます。

  • 様特性(((System.Web.Mvc.ModelValidator)(本)))。ControllerContext.RequestContext
  • (((System.Web.Mvc.ModelValidator)(本)))。ControllerContext。 HttpContext
  • (((System.Web.Mvc.ModelValidator)(この)))。ControllerContext.RouteData
1

それともクーロンdには2つの異なるViewModelがあります.1つはEditアクション用で、もう1つはCreateアクション用です。 コードを複製しても(明らかにすべてではありませんが)、ViewModelはモデル化されたビューに結びつけられるべきであるため、それは悪い習慣ではないと思います。

関連する問題