【发布时间】:2011-03-04 00:43:56
【问题描述】:
对于我网站的登录页面,我想列出我网站的最新消息,并显示一些字段让用户登录。所以我想我应该制作一个登录视图模型 - 我称之为@987654321 @。
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 做错了什么?
【问题讨论】:
标签: c# asp.net-mvc model-view-controller validation asp.net-mvc-2