0

検証に DataAnotation を使用していますが、場合によっては無効にする必要があります。

作成時の FE にはユーザーの挿入パスワードと確認が必要ですが、編集の場合は空のまま変更できません。

私はこのモデルを持っています:

        [Required]
        [DataType(DataType.Password)]
        public string Password { get; set; }

        [DisplayName("Re-enter Password")]
        [Compare("Password", ErrorMessage = "The password and confirmation do not match.")]
        public string PasswordControl { get; set; }

編集時に必要なパスワードを無効にするだけで十分です。

4

1 に答える 1

1

私の知る限り、2つの方法があり、どちらも機能します。

  1. 編集と挿入には別のモデルを使用してください。私は自分のアプリケーションでこれを好み、使用しています。それは簡単で将来性のあるものです (モデルとルールの編集と挿入はまったく異なる可能性があります)。

  2. メソッドをカスタマイズしValidationAttributeてオーバーライドしますIsValidIsEditモデルのフィールドなどのコンテキストを使用します。MVC3から使えます。この記事の「モデル検証の改善」の部分を参照してください http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

于 2013-05-31T08:15:21.590 に答える