Есть ли способ использовать несколько System.Web.Mvc.RemoteAttributes?Получение «Дублирующего атрибута RemoteAttribute». - PullRequest
2 голосов
/ 07 марта 2011

Мне нужно выполнить две отдельные проверки для свойства модели представления. Очевидно, RemoteAttribute может быть применен только один раз для каждого свойства. Вероятно, это глупый вопрос, но кто-нибудь знает способ обойти это?

public class ForgotPasswordModel
{
    // Getting compiler error "Duplicate RemoteAttribute attribute"
    [Remote("CanFindEmail", "Account", ErrorMessageResourceName = "EmailNotFound", ErrorMessageResourceType = typeof(ValidationMessages))]
    [Remote("IsAccountVerified", "Account", ErrorMessageResourceName = "AccountByEmailNotVerified", ErrorMessageResourceType = typeof(ValidationMessages))]
    [Required(ErrorMessageResourceType = typeof(ValidationMessages), ErrorMessageResourceName = "PropertyRequired")]
    [Display(ResourceType = typeof(Resx), Name = "PersonEmailAddress")]
    public string Email { get; set; }
}

1 Ответ

2 голосов
/ 07 марта 2011

Обойти это невозможно (поскольку RemoteAttribute не поддерживает несколько объявлений для каждого свойства) без переписывания того, как MVC выполняет удаленную проверку.Один атрибут Remote должен указывать на метод на сервере, который выполняет всю удаленную проверку.Вы должны объединить несколько типов проверки в этом методе сервера.Причина, по которой вы не хотите использовать несколько удаленных атрибутов для каждого свойства, заключается в производительности, так как каждый дополнительный обратный вызов будет иметь дополнительные издержки.

...