C# 数据注释-错误的数字错误消息

C# 数据注释-错误的数字错误消息,c#,validation,data-annotations,C#,Validation,Data Annotations,我有一个双变量: public double Width { set; get; } 我想验证号码并显示错误消息,因此我添加了: [Range(0.0, Double.MaxValue, ErrorMessage = "Width must be a valid number")] 如果我输入一个负数,效果会很好,但是如果我将其留空或输入字母,内部错误消息是 “输入字符串的格式不正确。” 我不是usign@html.validationmessagefor,因为我需要手动处理ModelSt

我有一个双变量:

 public double Width { set; get; }
我想验证号码并显示错误消息,因此我添加了:

[Range(0.0, Double.MaxValue, ErrorMessage = "Width must be a valid number")]
如果我输入一个负数,效果会很好,但是如果我将其留空或输入字母,内部错误消息是

“输入字符串的格式不正确。”

我不是usign@html.validationmessagefor,因为我需要手动处理ModelState的ErrorMessage或error.exception.InnerException.message


如何修复此问题?

此错误消息似乎来自一个
double.Parse

数据注释属性不被double类使用,它们只是被一些框架使用


无论如何,看起来输入字符串不是有效的双精度字符串,因此范围验证与有效的双精度字符串无关

看,我用JS创建了一个viewmodel并发送了它,所以这可能就是为什么它使用double.parse?无论如何,我怎样才能更改此消息的文本呢?也许在onvalidation事件中,您可以通过double.TryParse函数进行检查,然后在需要时抛出一个新的自制异常嗯。。我没有原始价值。如果我输入“abc”而不是一个数字,我在“Width”中得到“0.0”,而“ModelState.IsValid”为false;