【发布时间】:2026-02-17 12:55:01
【问题描述】:
假设我有一个这样的模型属性:
[Range(1, 31, ErrorMessage = "O dia de fechamento deve possuir valores entre 1 e 31")]
public int DataInicial { get; set; }
即使在注释上设置了自定义错误消息,当我输入类似“32”或更多信息请参见 @Html.TextBoxFor(model => model.DataInicial) 字段。
我知道this 帖子,但我认为如果您可以在注释级别设置自定义消息,它应该可以在不设置 App_GlobalResources 和 .resx 文件、设置第三方库或其他任何东西的情况下工作......我知道添加 .resx 文件并将所有这些验证字符串放在那里是“最佳实践”,但是...
那么,由于消息显示不正确,我可能错在哪里?
提前谢谢你。
【问题讨论】:
-
您看到的错误信息是什么?
-
客户端或服务器端验证?
-
客户端验证(在 POST 表单之前发生的验证)。我得到“请输入一个小于或等于 31 的值”。当我在具有范围验证的表单字段中键入“32”时,如上所述。我需要在哪里更改才能自定义此消息?
-
4 年后这仍然是一个问题。我看到此错误消息:请在 int 上输入一个大于或等于 1 的值并带有此装饰:[Range(1, 9999, ErrorMessage = "Attribute Number must be between 1 and 9999"] 检查我的页面我看到了这个: data-val-range="属性编号必须在 1 到 9999 之间" 所以不显眼的验证应该可以工作,但事实并非如此。有趣的是我也有这个验证: data-val-number="字段代码必须是一个数字." 然而,当我输入一个字母时,我仍然看到同样的错误:请输入一个大于或等于 1 的值
标签: c# asp.net-mvc asp.net-mvc-4 data-annotations rangevalidator