且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)

更新时间:2022-05-30 10:02:08

 

ViewModel类:

    /// <summary>
    /// 评论用验证视图
    /// </summary>
    public partial class VCreateShopComment
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "旺旺是必须的")]
        public string WW { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "必须评论")]
        [StringLength(200, ErrorMessage = "评论内容不能超过{0}字")]
        public string CommentText { get; set; }



        [Range(1, 5, ErrorMessage = "评分要在{1}到{2}之间")]
        public short Score { get; set; }


        //[Range(0, int.MaxValue, ErrorMessage = "您的账户无效")]
        public int ID{ get; set; }

    }

 

控制器

[HttpPost]
public ActionResult Add(VCreateShopComment v)
        {

   if (ModelState.IsValid)
            {
              //做爱做的事
            }
            StringBuilder sb = new StringBuilder();
            var errors = ModelState.Values;
            foreach (var item in errors)
            {
                foreach (var item2 in item.Errors)
                {
          if (!item2.ErrorMessage.IsNullOrWhiteSpace())
                   {
                       sb.AppendLine(item2.ErrorMessage + "<br />");
                   }
} } return Content(sb.ToString()); }

 

错误的输出用2次遍历就行了,前提是,对于每个验证特性ErrorMessage 是要有的