ModelState.AddModelError使用

ModelState.AddModelError使用

大家好,又见面了,我是全栈君。

后台:ModelState.AddModelError("userPwd", "请输入密码!");
ModelState是一个字典类型,这句话的作用是向ModelState中添加一条错误信息,第一个参数是Key,第二个参数是Value。


前台:Html.ValidationMessage(key) 或 Html.ValidationSummary() 来显示


对于什么时候使用ModelState.AddModelError(模型错误)的思考与总结:
针对马拉松赛事:
(1)当前的赛事是否存在
 var eventMessage = _eventSystemMessageService.GetAllEventSystemMessages().FirstOrDefault(x => x.EventName == currentEventName);  //查询出该条数据
                if (eventMessage == null)//判断是否存在
                {
                    string no_NowEvent = _localizationService.GetResource("Event.EventRegister.No_NowEvent");   //进行语言转换
                    ModelState.AddModelError("", no_NowEvent);//"不存在当前赛事"
                    InitRegisterModel(model);
                    return View(model);
                }

(2)证件号码是否存在

 var rms = _registratorMessageService.GetAllRegistratorMessages();  //所有数据

                var entity = rms.FirstOrDefault(r => r.RegistratorDocumentNumber == model.RegistratorDocumentNumber);//通过输入的数据与数据库的数据匹配得出一条数据
                if (entity != null)
                {
                    string hadDocumentNumber = _localizationService.GetResource("Event.EventRegister.HadDocumentNumber");
                    ModelState.AddModelError("", hadDocumentNumber);//"证件号码已存在"
                    InitRegisterModel(model);
                    return View(model);
                }

 

(3)手机号码是否存在

                var phoneValidEnity = rms.FirstOrDefault(r => r.RegistratorPhone == model.RegistratorPhone);//针对手机号查询数据
                if (phoneValidEnity != null)
                {
                    string hadPhoneNumber = _localizationService.GetResource("Event.EventRegister.PhoneNumber");
                    ModelState.AddModelError("", hadPhoneNumber);//"手机号码已存在"
                    InitRegisterModel(model);
                    return View(model);
                }

(4)邮箱地址(号码)是否存在

 var emailEntity = rms.FirstOrDefault(x => x.RegistratorEmail == model.RegistratorEmail);//通过邮箱查询匹配数据
                if (emailEntity != null)
                {
                    string yourEmailIsUsed = _localizationService.GetResource("Event.EventRegister.YourEmailIsUsed");
                    ModelState.AddModelError("", yourEmailIsUsed);//"该邮箱地址已被使用,请使用其他邮箱地址"
                    InitRegisterModel(model);
                    return View(model);
                }

 

(5)生日不准确

  try
                {
                    Enmodel.RegistratorBirth = new DateTime(model.DateOfBirthYear, model.DateOfBirthMonth, model.DateOfBirthDay);
                }
                catch
                {
                   
                    string birthDayWrong = _localizationService.GetResource("Event.EventRegister.birthDayWrong");
                    ModelState.AddModelError("", birthDayWrong);// "生日输入不正确"
                    return

…….

总的来说:对于使用模型错误是根据需求来定的,主要起验证作用。

使用场景:

(1)注册时

(2)找回密码时

posted on
2017-03-10 16:30
WFaceBoss 阅读(
) 评论(
)
编辑
收藏

转载于:https://www.cnblogs.com/wfaceboss/p/6531355.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • scrapy框架

    scrapy框架scrapy框架简介和基础应用什么是Scrapy?Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队

    2022年7月3日
    19
  • 二十三又是谁的二十三

    二十三又是谁的二十三23岁那年你正处在哪个状态?现在呢?我,23岁,应届毕业生。生活,工作,爱情都处于人生的低谷,一穷二白,一无所有,一事无成。分享一下成长的建议吧。匿名用户23岁那年…就是去年…在22岁的时候我毕业,同时第二年准备考研,结果因为压力太大,期望太高,又失利了,但是我依然满怀信心和憧憬在我23岁那年四月,当我深爱的女孩(在这之前我追了她四年)说她要去北京时,我在毫无准备的情况下,带了2000块钱冲到北京,那会的北京还有点冷…但是我只是想打好前站,在她来的时候能提供一点帮助,在前两周里,每天面试两家公

    2022年7月25日
    10
  • ubuntu vi上下左右键无法使用?

    ubuntu vi上下左右键无法使用?

    2022年2月22日
    70
  • Java中Map接口的解析

    Java中Map接口的解析Map详解:先看图,便于宏观了解Map的地位。Map接口中键和值一一映射.可以通过键来获取值。给定一个键和一个值,你可以将该值存储在一个Map对象.之后,你可以通过键来访问对应的值。 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常. 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个ClassCastException异常。…

    2022年7月8日
    24
  • Idea激活码最新教程2020.1.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.1.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 1 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 1 1 成功激活

    2025年5月23日
    2
  • C#QuotedStr方法实现,引号的处理

    C#QuotedStr方法实现,引号的处理在Delphi中处理引号有QuotedStr函数,但C#中却没有相应的处理!所以转换了Delphi的代码为C#中来处理。。以下为代码!protectedstringQuotedStr(stringS){stringvResult;vResult=S;for(inti

    2022年10月17日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号