当我将“模型”对象(由 LinqToSQL 生成)发布到控制器时,我可以查询“ModelState.IsValid”,如果任何属性上有验证属性并且值未验证,它将被设置为“假”。
但是,如果我发布我自己的类的自定义对象,ModelState.IsValid 似乎总是返回“true”,即使该类的属性具有验证属性并且被赋予了不正确的值。
为什么这只适用于 DataContext 模型对象?这些对象是什么使它们与 ModelState.IsValid 一起工作,而普通类却不能?
我怎样才能使它与普通课程一起工作?
控制器代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogIn(MyProject.Website.ViewModels.Shared.LogIn model)
{
if (ModelState.IsValid)
return View(model);
// ... code to log in the user
}
视图模型代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using MyProject.Website.Validators;
using System.ComponentModel;
public class LogIn
{
public LogInModes LogInMode { get; set; }
[Required]
[EmailAddress]
public string EmailAddress { get; set; }
public string Password { get; set; }
public bool RememberMe { get; set; }
public string ReturnUrl { get; set; }
}