2011-01-28 8 views
1

MVC3モデルで条件付き検証を使用する方法はありますか?例えばMVC3 DataAnnotaions検証

:私は、新しいユーザーを追加する場合にのみ必要とされるパスワードとconfirmpasswordフィールドを希望

public class User 
{ 
    [Required] 
    public string Password { get; set; } 
    [Required, Compare("Password")] 
    public string ComparePassword { get; set; } 
} 

。しかし、編集時には、これらを空にしておきたい(ビュー内のテキストボックス)。ユーザーが新しいパスワードとConfirmPasswordを入力するときだけ、パスワードはDBで変更されます。

おかげ

答えて

2

通常、あなたが適切なフィールドとバリデータで別々のAddUserViewModelとEditUserViewModelのクラスを持っているでしょう。モデルが有効であればコントローラのアクションで、ビューモデルに変換してUserエンティティに渡し、ビジネスロジック/サービスに渡して保存します。これにはAutomapperを使用できます。

+0

ありがとうございました。それは理にかなっている – ShaneKm