public class RegisterViewModel
{
//Plain POCO Properties
public RegisterModel RegisterModel { get; set; }
//Meant to be used in SelectLists.
public IEnumerable<CityModel> Cities { get; set; }
public IEnumerable<CountryModel> Countries { get; set; }
}
Вот эти классы:
public class RegisterModel
{
[Required]
[Display(Name = "Usuario")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Correo")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Su {0} debe tener al menos {2} caracteres.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Contraseña")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirme Su Contraseña")]
[Compare("Password", ErrorMessage = "Sus contraseñas no son las mismas.")]
public string ConfirmPassword { get; set; }
[Required]
[Display(Name = "Nombre")]
public string Nombre { get; set; }
[Required]
[Display(Name = "Apellido")]
public string Apellido { get; set; }
[Required]
[Display(Name = "Direccion")]
public string Address { get; set; }
[Required]
[Display(Name = "Telefono Fijo")]
public string Telephone { get; set; }
[Required]
[Display(Name = "Celular")]
public string MobilePhone { get; set; }
[Required]
[Display(Name = "Fecha de Nacimiento")]
public DateTime DateOfBirth { get; set; }
[Required]
[Display(Name = "Soy:")]
public bool Sex { get; set; }
[Required]
[Display(Name = "Carnet")]
public int Carnet { get; set; }
}
public class CityModel
{
[HiddenInput(DisplayValue = false)]
public int CityId { get; set; }
[Required]
[Display(Name = "Ciudad")]
public string Name { get; set; }
}
public class CountryModel
{
[HiddenInput(DisplayValue = false)]
public int CountryId { get; set; }
[Required]
[Display(Name = "Pais")]
public string Name { get; set; }
}
И вот как я вызываю RegisterViewModel на мой взгляд:
@model Foodiggly.WebUI.Models.RegisterViewModel
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>RegisterViewModel</legend>
@Html.EditorForModel()
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
Эта ошибка вызвана тем, что моя ViewModel сама не имеет никаких аннотаций? Где я могу официально прочитать об этом? Все, что мне удалось найти в Интернете, - это временный блог или два, но в Интернете упоминаются простые модели, а не те, которые связаны с другими объектами, такими как этот. Типичные отношения между человеком и иностранным ключом.
Есть идеи?