c# - 模型验证不显示错误消息
问题描述
我正在开发一个 ASP.NET Core MVC Web 应用程序,但是,我遇到了数据注释问题。
对于int
和decimal
,我无法覆盖数据注释的默认错误消息。对于string
,数据注释有效。
这发生在前面提到的数据类型int
和数据类型上。decimal
这是我的模型中的属性:
[Required(ErrorMessage = "Please provide the model")]
[StringLength(55, ErrorMessage = "The model is too long")]
public string MODEL { get; set; }
[Required(ErrorMessage = "Please provide the service period")]
[Range(0, 5, ErrorMessage = "Please provide a smaller number")]
[RegularExpression("([0-9]+)", ErrorMessage = "Not a number")]
public int SERVICE_PERIOD { get; set; }
正如我之前所说,string
数据类型按预期工作,但是,int
数据类型没有显示我自己需要的错误消息,也没有显示表明它不是数字的错误消息。decimal
数据类型错误仅适用于数字超过 5 个数字时的数据注释,即 Range 数据注释。
我会很感激任何帮助,谢谢。
解决方案
它对我有用。
试试这个属性:
[Range(0, int.MaxValue, ErrorMessage = "Please enter valid integer Number")]
或者您可以使用正则表达式:
[RegularExpression("([0-9]+)", ErrorMessage = "Please enter valid Number")]
public int bmi_number { get; set; }
推荐阅读
- angular - Angular 6响应后无法遍历属性
- django - Django formset:从formset保存多个表单
- javascript - 如何使用 JavaScript 添加元素的类
- csv - 如何连接到半列分隔的 CSV 文件表单 ms-access
- sql - 有子句中的相关子查询
- javascript - 将 javascript 初始变量设置为从网站上抓取的数据
- mysql-connector - 有没有更简单的方法来发现 MemSQL 中的函数参数?
- java - 同一对象的两种表示形式 - Hibernate 问题
- javascript - 在javascript中的不同索引上连接两个数组
- php - october cms 从数据库表创建模型