首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ModelState.AddModelError在asp.net.core剃刀页面中不显示任何消息

在ASP.NET Core Razor页面中,ModelState.AddModelError用于向页面中添加验证错误消息。当表单提交时,如果模型验证失败,可以使用该方法将错误消息添加到ModelState对象中。然后,可以在页面中使用ValidationSummary或ValidationMessageFor等辅助方法来显示这些错误消息。

然而,如果在ASP.NET Core Razor页面中使用ModelState.AddModelError方法后,消息没有显示出来,可能有以下几个原因:

  1. 页面中没有正确地显示错误消息:确保在页面中使用了合适的辅助方法来显示错误消息。例如,可以使用ValidationSummary方法显示所有错误消息,或者使用ValidationMessageFor方法显示特定字段的错误消息。
  2. 模型验证失败的错误消息没有正确地添加到ModelState对象中:在处理表单提交的POST方法中,确保在模型验证失败时调用了ModelState.AddModelError方法,并将错误消息添加到ModelState对象中。可以通过检查ModelState.IsValid属性来确定模型验证是否失败。
  3. 错误消息被其他代码清除或覆盖:在处理表单提交的POST方法中,确保没有其他代码清除或覆盖了ModelState对象中的错误消息。可以通过调试或添加日志来检查代码执行路径,确保错误消息没有被意外地修改或移除。

总结起来,要在ASP.NET Core Razor页面中正确显示ModelState.AddModelError方法添加的错误消息,需要确保正确地使用辅助方法来显示错误消息,并在处理表单提交的POST方法中正确地添加错误消息到ModelState对象中。如果问题仍然存在,可以进一步检查代码逻辑和执行路径,以确定错误消息是否被其他代码清除或覆盖。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC下的四种验证编程方式

三个ValidationAttribute特性采用的错误消息均定义项目默认的资源文件(我们可以采用这样的步骤创建这个资源文件:右键选择Solution Exploror的项目,并在上下文菜单中选择...最后在对话框中选择“资源”Tab页面,通过点击页面的链接创建一个资源文件),具体定义如图2所示。...不对其他代码作任何改动的情况下,我们直接运行该程序并在输入不合法数据的情况下提交表单后依然会得到如图1所示的输出结果。...实现的索引,我们将索引参数columnName视为属性名称,根据它按照上面的规则对相应的属性成员实施验证,并在验证失败的情况下返回相应的错误消息。...不对其他代码作任何改动的情况下,我们直接运行该程序并在输入不合法数据的情况下提交表单后依然会得到如图1所示的输出结果。

1.4K80
  • asp.net core 系列之用户认证(authentication)

    ASP.NET Core 的 identity 是一种需要用户登录的会员系统,用户可以创建一个登录信息存储 Identity 的的账号, 或者也可以使用第三方登录,支持的第三方登录包括:Facebook...程序控制台中,输入: Update-Database 直接在vs的视图,打开sql server 对象管理器,查看数据库效果,确认数据库更新成功: ?...3.配置 Identity 服务(Identity service) 服务被添加到了StartUp下的 ConfigureServices方法 public void ConfigureServices...} } // If we got this far, something failed, redisplay form return Page(); } 创建成功后,会直接显示登录状态...Authrize前后): 加之前:不需要登录,即可访问Privacy页面 加之后:需要登录,才能访问此页面 这里先记录添加Identity操作流程,之后会具体讲解一些功能点

    2K10

    《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(下)

    HttpClient 对象的 PostAsync 方法之前在请求添加对 Authorization 消息头,并使它的值为 Bearer [Fact] public async...{ Title = "Library API", Version = "v1" }); }); Configure 方法添加 Swagger 中间件和...swagger.json", "Library API V1"); }); app.UseMvc(); 运行程序,访问 https://localhost:5001/swagger/v1/swagger.json 该页面显示...Swagger 生成的 JSON 文档 访问 https://localhost:5001/swagger 可以看到 SwaggerUI,它是 Swagger 文档更友好的展示方式 如果希望文档展示某个...XML 注释,这会进一步增加 Swagger 文档的可读性 项目属性窗口中的”生成“页上勾选”XML文档文件“来启用自动生成 XML 注释文档功能 为了使 Swagger 文档能够更详细地显示接口的意义

    72810

    Membership三步曲之入门篇 - Membership基础示例

    集成Membership到ASP.NET MVC网站   这里我们的需求很简单,只是要实现一个包含注册、登录、以及修改密码功能的网站就可以了。...首先我们Layout里面加上三个链接:Register, Login, 如果已经登录的话我们就显示用户名和LogOff。    ...Membership.CreateUser 创建新用户 Membership.GetUser 获取用户 MembershipUser.ChangePassword 修改密码   还有更多的方法我们可以使用,最上面的表我们已经列出来了...我们创建这个MVC站点的时候,VS也为我们配置了权限模块。...我们可以点击Security(安全)到管理用户和角色的地页面。 我们先添加3个角色:Admin, Manager, User 然后我们就可以给我们的用户赋予角色了。

    92960

    交互设计流程思考范围层结构层框架层

    公司性质为互联网金融外包公司,故在此讨论战略层上的相关问题,但是讨论代表思考,如果能直面客户希望能多向客户询问他们战略层的思考,有助于把握设计方向,也能确保整个产品的体验与客户需求相一致。...kano模型 根据kano模型,我们能找出大幅提升用户体验关键需求,但是kano模型讨论一个需求是否有存在价值。 结构层 结构层是用来设计用户如何达到某个页面,离开这个页面以后还能到哪,还能做什么。...用户在网页上的任何操作,不论是单击、滚动还是按下键盘,页面应即时给出反馈。...设计者们可使用分组框或分割线将屏幕上的控件和数据显示分隔开。...二八定律 在任何一组东西,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的。 启示:80%的用户只会用到20%的功能,这些功能为常用功能,是我们应该关注与优化的重点。

    5.4K173

    全面理解奥卡姆剃刀原则——兼论常识获取和推理的发展方向

    比如,断言外星人的存在,现阶段并没有充分的证据。但反驳任何外星人的存在,也没有任何经得起推敲的成熟理论。如果因为不能举证外星人不存在就在没有足够证据的情况下承认外星人存在,这显然是不合适的。...奥卡姆剃刀原则于是应运而生。 奥卡姆剃刀原则下,主张“无”是无需举证的,主张“有”是必须举证的。主张有,就好似法律上的“有罪推定”,你必须自证清白。...只是为了既要避免诚实的人们知识的沟通把众所周知、共同约定的推理前提车轱辘话来回说,又要避免抬杠成性的小人无孔不入地拿黑天鹅钻空子,人类才选择了常识机制,把日常生活各种标配对象和标配场景做成了不言自明的潜规则...跟遵守潜规则的抬杠者,不需要废话;跟遵守潜规则的沟通者,也不需要废话。反正大家都很忙,欢迎废话。 常识可错。没关系,只要给出特设性前提,常识完全可以自废武功,服从特设场景下的特设性知识。...从大数据获取标配,离不开自然语言处理技术。

    1.2K90

    奥卡姆剃刀和数据简化理念

    这把剃刀出鞘后,剃秃了几百年间争论不休的经院哲学和基督神学,使科学、哲学从宗教彻底分离出来,引发了始于欧洲的文艺复兴和宗教改革、科学革命,最终使宗教世俗化,形成宗教哲学,完成世界性政教分离,成功表明无神论更为现实...《数据资源概论》数据资源(Data Resource)类型(48k字) 数据资源存储个人和各种社会单位持有的各种设备上,并且人类社会的人机交流中流通和应用。...此条目没有列出任何参考或来源。(2016年1月4日), 维基百科,自由的百科全书. 数据....[EB/OL], wikipedia, https://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE,,本页面最后修订于2020年3月17日 (星期二) 07:51,...本公众号持有任何倾向性,亦不表示认可其观点或其所述。

    67810

    七天学会ASP.NET MVC (四)——用户授权认证问题

    实验16——添加客户端验证 实验17——添加授权认证 实验18——View显示用户名 实验19——实现注销操作 实验20——实现登录页面验证 实验21——实现登录页面客户端验证 总结 实验15——有关错误验证的保留值...View,试着将Model的数据重新显示文本框。...当点击”Add New“超链接时,请求会通过Add New方法处理,该Action 方法,可以传递任何数据。即就是,View的Model属性为空。... IsValid函数将返回false,表示验证失败来实现预期的功能。 除了提示用户,是否可以在当前页面显示错误信息?...实验18——View显示UserName 本实验,我们会在View显示已登录的用户名 1.

    8.7K50

    测试架构师的领导策略

    该原则指出人们不应做出比实际需要更多的假设……对于任何给定模型,奥卡姆剃刀法帮我们'剔除’不需要的概念、变量或构成。”运用奥卡姆剃刀法能够让你这个领导者知道如何去有效率且有效果地融合概念。...将所有这些信息吸收,并明智地加入到你正在构思的想法,需要有能力听清他们说的内容,从中提取相关的方面,重组论据以达到知识的完整性。关键在于,维持清晰度和简洁性的同时增加分析问题的深度。...我本人的工作,我总是试着约见较少数目的人。在所有情况下,我都保持交谈不同方向的开放性,以确保回答他们提出的所有问题。如果可能的话,我会试着与业主一同展示信息。...不要将太多的东西搬到屏幕上,而是尽量屏幕旁解释所显示的图片。应当试着把事情化整为零,每次传达的思路最多5~9个。三、领导者要确保事情不跑题领导者需要知道怎样保持某个点上。...项目进展过程,总是受到一些要分神的事情困扰。要维护继续前行的动力,就非常有必要区分哪些事情需要做出行动,哪些事情可以忽略不管。请考虑下列问题:分神去干这件事会影响项目的交付日期吗?

    10610

    机器学习包含哪些学习思想?

    例如,现在很多人沉迷“深度学习”不可自拔,那是不是深度学习就比其他任何算法都要好?在任何时候表现都更好呢?未必,我们必须要加深对于问题的理解,不能盲目的说某一个算法可以包打天下。...MurphyMLAPP中用Tenenbaum的强抽样假设(strong sampling assumption)来类比奥卡姆剃刀原理。首先他给出了下面的公式, ?...从奥卡姆剃刀角度思考的话, ? 0~99只有5个满足要求的元素,而 ? 却有50个满足要求的元素。那么 ?...代表算法:随机森林 每个子学习器都是强分类器,融合过程可能: 思路2(强取强):选择最强的那一个。...据我权威观察,不少统计学出身的人倾向于频率学派而机器学习出身的人更倾向于贝叶斯学派。

    67830

    机器学习的“哲学”

    例如,现在很多人沉迷“深度学习”不可自拔,那是不是深度学习就比其他任何算法都要好?在任何时候表现都更好呢? 未必,我们必须要加深对于问题的理解,不能盲目的说某一个算法可以包打天下。...MurphyMLAPP中用Tenenbaum的强抽样假设(strong sampling assumption)来类比奥卡姆剃刀原理。...我们有两种假设: h1: 我们是从{0,2,4,6,8,...,98}抽取的,即从偶数抽取 h2: 我们是从{2n}抽取的 根据上文给出的公式进行计算,我们发现Pr(D|h1)远大于Pr(D|h2...从奥卡姆剃刀角度思考的话,h1:{2n}0~99只有5个满足要求的元素,而h2:{0,2,4,6,8,...,98}却有50个满足要求的元素。...据我权威观察,统计学出身的人倾向于频率学派而机器学习出身的人更倾向于贝叶斯学派。

    1K90

    从头编写 asp.net core 2.0 web api 基础框架 (2)

    但是这个Action必须有一个路由的名字才可以引用它, 所以GetProduct方法上的Route这个attribute里面加上Name="GetProduct", 然后CreatedAtRoute...Validation 验证 针对上面的Post方法,  如果请求没有Body, 参数product就会是null, 这个我们已经判断了; 如果body里面的数据所包含的属性product不存在, 那么这个属性就会被忽略...每次请求进到Action的时候, 我们ProductCreationModel添加的那些注解的验证, 就会被检查....如果使用Product这个Dto的话, 那么它包含id属性, 而id属性是更改的. 但如果你没有针对不同的操作使用不同的Dto, 那么别忘了检查传入Dto的id 要和参数id一致才行....结果显示找不到这个属性. 再试一下, ProductModification 这个model上的验证: 例如删除name这个属性的值: ?

    1.6K80

    ASP.NET Core分布式项目实战(Consent 代码重构)--学习笔记

    任务23:Consent 代码重构 新建一个 Sercices 文件夹,文件夹下新建一个 ConsentService,专门用于处理 Consent 的逻辑,我们会把 controller 不是 action...CreateScopeViewModel(x, selectedScopes.Contains(x.Name) || model == null)); return vm; } 这一块就改进完了,接下来就是选中的情况下会有提示让我们选择...,现在添加一些错误的提示, ProcessConsentResult 添加一些信息 ProcessConsentResult public string ValidationError { get;...string.IsNullOrEmpty(result.ValidationError)) { ModelState.AddModelError("", result.ValidationError...); } return View(result.viewModel); } 加入验证信息之后需要修改视图把这块信息显示出来 Index <input type="hidden" asp-for

    27320
    领券