У меня есть следующий класскомплекс проверки достоверности данных аннотаций с использованием данных
public partial class Contact
{
public Contact()
{
}
#region Primitive Properties
public virtual int Id { get; set; }
[Display(ResourceType = typeof(Common), Name = "Person_Name")]
[Required(ErrorMessageResourceName = "Validation_Required", ErrorMessageResourceType = typeof(Common))]
[StringLength(100, ErrorMessageResourceName = "Incorrect_Field_Length",
ErrorMessageResourceType = typeof(Common))]
public virtual string Name { get; set; }
[Display(ResourceType = typeof(Common), Name = "Telephone_Number")]
[DataType(DataType.PhoneNumber)]
[StringLength(100, ErrorMessageResourceName = "Incorrect_Field_Length",
ErrorMessageResourceType = typeof(Common))]
[Required(ErrorMessageResourceName = "Validation_Required", ErrorMessageResourceType = typeof(Common))]
public virtual string Telephone { get; set; }
[Display(ResourceType = typeof(Common), Name = "EmailAddress")]
[DataType(DataType.EmailAddress)]
[StringLength(255, ErrorMessageResourceName = "Incorrect_Field_Length",
ErrorMessageResourceType = typeof(Common))]
[Required(ErrorMessageResourceName = "Validation_Required", ErrorMessageResourceType = typeof(Common))]
public virtual string Email { get; set; }
[Display(ResourceType = typeof(Common), Name = "ContactType")]
public virtual ContactType ContactType { get; set; }
public virtual Company Company { get; set; }
#endregion
}
ContactType выглядит как этот
public partial class ContactType
{
#region Primitive Properties
public virtual int Id { get; set; }
[Display(ResourceType = typeof(Common), Name = "ContactType_Name")]
[StringLength(50, ErrorMessageResourceName = "Incorrect_Field_Length",
ErrorMessageResourceType = typeof(Common))]
[Required(ErrorMessageResourceName = "Validation_Required", ErrorMessageResourceType = typeof(Common))]
public virtual string Name { get; set; }
#endregion
}
У меня есть проблема в том, что, когда я редактирую объект контакта, ModelState.IsValid является всегда ложный. Это связано с тем, что имя внутри ContactType имеет значение Null, оно имеет правильный идентификатор. Это связано с тем, что ContactType выбирается с помощью раскрывающегося списка. Я не хочу удалять валидацию из ContactType, поскольку это необходимо при добавлении новых объектов ContactType. Любая идея, как я могу обойти эту проблему?
Пожалуйста, кричите, если мне нужно предоставить дополнительную информацию.
Приветствие
Можете ли вы показать нам разметку для элемента управления выпадающим списком, который выбирает ContractType? –