这问题之前已经被问过了,但是我认为搜索条件对于我来说太通用了,无法找到我正在寻找的答案,所以我会再问一遍.
我有一个带有int属性的模型和一个范围注释.
如果用户输入的内容不是int,则验证消息将以“< bad data>”值响应对于’< property name>‘无效…这很好,但我想提供更多反馈,即在此字段中期望一个整数值.
由于此验证在其他验证器查看之前失败,因此我不知道如何(或者是否可能)覆盖默认的验证器消息.
我有什么选择?
每个请求,我发布的代码,但它没有很多:
[Range(0,65535,ErrorMessage="Port must be between 0 and 65535.")] public int Port { get; set; }
在到达RangeAttribute之前进行验证.我想用我自己选择的替换默认消息.
解决方法
如果您正在使用标准注释,则应该能够使用以下内容覆盖错误消息:
[MyAnnotation(....,ErrorMessage = "My error message")] public int myInt { get; set; }
或者你真的想要附加到默认错误消息而不是替换它(不清楚有问题)?
更新:误读 – 建议这个答案:How to change the ErrorMessage for int model validation in ASP.NET MVC?或更好,但How to change ‘data-val-number’ message validation in MVC while it is generated by @Html helper