Для страницы входа в мой веб-сайт я хотел бы перечислить последние новости для своего сайта, а также отобразить несколько полей, чтобы пользователь мог войти в систему. Поэтому я решил, что должен создать модель представления входа в систему - я называю это LoginVM
.
LoginVM
содержит модель Login
для полей входа в систему и List<NewsItem>
для списка новостей.
Это модель Login
:
public class Login
{
[Required(ErrorMessage="Enter a username.")]
[DisplayName("Username")]
public string Username { get; set; }
[Required(ErrorMessage="Enter a password.")]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
}
Это модель вида LoginVM
:
public class LoginVM
{
public Login login { get; set; }
public List<NewsItem> newsItems { get; set; }
}
Вот где я застреваю.В моем контроллере входа в систему я получаю LoginVM
.
[HttpPost]
public ActionResult Login(LoginVM model, FormCollection form)
{
if (ModelState.IsValid)
{
// What?
В коде, который я проверяю, является ли ModelState
допустимым, и это будет работать нормально, если модель представления действительно была Login
модель, но теперь это LoginVM
, который вообще не имеет атрибутов проверки.
Как мне сделать LoginVM
"обход" через его членов для проверки их всех?Я делаю что-то в корне неправильно, используя ModelState
таким образом?