私のビジネスドメインでは、 "User"エンティティは単一の "Person"エンティティに関連付けられています(Userインスタンスにはセキュリティ情報やログイン情報が含まれています。人の人の連絡先情報)。複雑なフォーム検証(子オブジェクトプロパティの検証を無効にする)
私のViewModelには次のようになります。
class UserViewModel {
[Required]
public String UserName { get; set; }
public Int64 PersonId { get; set; }
public PersonViewModel Person { get; set; }
public Boolean PersonViewModelIsNew { get; set; }
}
class PersonViewModel {
[Required]
public String FirstName;
[Required]
public String LastName;
// etc
}
ウェブページは、訪問者が、彼らはブランドの新しいPersonインスタンス、または既存の人のいずれかでユーザーの個人情報を交換することができるようなユーザーを編集することができますデータベースから取り出される。添付
フォームのスクリーンショットです:
アイデアは(「UserViewModel.PersonViewModelIsNew」プロパティにマッピング)「別の従業員」ラジオ・ボタンは、その後の検証を選択した場合ということです「UserViewModel.Person」のメンバーは無効になります。
しかし、ASP.NET MVCにはWebFormsのような検証グループの概念がありません。このような検証をどのように制御できますか?