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; }

Enought 应该在编辑时禁用密码。

4

1 回答 1

1

AFAIK,有两种方法,任何一种都可以。

  1. 使用不同的模型进行编辑和插入。我更喜欢并在我的应用程序中使用它。这很容易且面向未来(编辑和插入模型和规则可能完全不同)。

  2. 自定义一个ValidationAttribute和覆盖IsValid方法。使用一些上下文,例如IsEdit模型的字段。它可以从 MVC3 开始使用。请参阅本文的“模型验证改进”部分http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

于 2013-05-31T08:15:21.590 回答