请教,我在model下面引用DataAnnotations验证输入,为何没有反应呢?
代码:model部分:
 public class Blog
    {
        private string m_ID;        public string StrID
        {
            get { return m_ID; }
            set { m_ID = value; }
        }        [Required(ErrorMessage = "请输入标题")]
        private string m_strTitle;        public string Title
        {
            get { return m_strTitle; }
            set { m_strTitle = value; }
        }
        ....
    }
control 部分: public ActionResult Create(Blog blog)
        {
            if (ModelState.IsValid)
            {
                var oClient = SoaClientMgr<Client>.Instance.Client(IsOK);
                var oRes = oClient.AddBlog(blog.Title, blog.Labels.ToArray<string>(), blog.Body);
            }            return View(blog);
        }
view 部分:
<div class="editor-label">
            题目
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Title)
            @Html.ValidationMessageFor(model => model.Title)
        </div>这是怎能回事呢?

解决方案 »

  1.   

    public class Blog
      {
      private string m_ID;  public string StrID
      {
      get { return m_ID; }
      set { m_ID = value; }
      }  
      private string m_strTitle;
    [Required(ErrorMessage = "请输入标题")]
      public string Title
      {
      get { return m_strTitle; }
      set { m_strTitle = value; }
      }
      ....
      }
      

  2.   

    数据模型代码:
       
     public class GuestbookForm
        {
            [Required]
            public string Name { get; set; }
            [Required]
            public string Email { get; set; }
            [Required]
            public string Body { get; set; }
        }控制器代码:
            [HttpPost]
            public ActionResult Save(Models.GuestbookForm data)
            {
                if (!ModelState.IsValid) //此处一直是false
                {
                    return RedirectToAction("Write");
                }
                MvcApplication1.Models.MVCtestEntities db = new Models.MVCtestEntities();
                
                db.AddToGuestbook(new Models.Guestbook()
                {
                    姓名 = data.Name
                });            db.SaveChanges();
                ViewData["姓名"] = data.Name;            return View();
            }视图代码:
        <% using (Html.BeginForm("Save", RouteData.Values["controller"].ToString()))
           { %>        <%=Html.LabelFor(x => x.姓名) %>
            <%=Html.TextBoxFor(x => x.姓名) %>
            <br />        <input type="submit" />
        <% } %>视图姓名控件不输入任何字符,也可以保存到数据库里。请问是怎么回事?