Проверка модели ASP.NET MVC 3 - PullRequest
       2

Проверка модели ASP.NET MVC 3

1 голос
/ 08 ноября 2011

У меня есть модель под названием Организация, в организации у меня есть атрибут удаленной проверки:

[Required(ErrorMessage = "The organisation name is required")]
    [Remote("NameCheck", "Manage", "Organisations", ErrorMessage="That organisation      already exists")]
    public string Name { get; set; }

Это проверяет, что название организации, которую кто-то добавляет, еще не существует.Если это произойдет, то они получат сообщение об ошибке, в котором говорится:

Я использую строго типизированное представление, чтобы отобразить представление организации "изменить".Поскольку кто-то редактирует, я не хочу, чтобы эта удаленная проверка выполнялась, потому что, конечно, организация будет существовать.

Есть ли способ добиться этого?По сути, отключите удаленную проверку каким-либо образом при редактировании организации и включите ее при создании организации.

Ответы [ 2 ]

4 голосов
/ 08 ноября 2011

Вы можете / ДОЛЖНЫ использовать разные модели видов для двух видов. Так, например, у вас будут CreateOrganizationViewModel и UpdateOrganizationViewModel. В первой модели представления свойство Name будет украшено атрибутом remote, тогда как во второй модели представления оно не будет.

3 голосов
/ 08 ноября 2011
public class BaseOrganizationModel {
  public int ID {get; set;}
}

public class UpdateOrganizationModel : BaseOrganizationModel {
    [Required(ErrorMessage = "The organisation name is required")]
    public string Name { get; set; }

}

public class InsertOrganizationModel : BaseOrganizationModel {
    [Required(ErrorMessage = "The organisation name is required")]
    [Remote("NameCheck", "Manage", "Organisations", ErrorMessage="That organisation      already exists")]
    public string Name { get; set; }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...