Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation MVC3客户端服务器验证消息不匹配_Validation_Asp.net Mvc 3 - Fatal编程技术网

Validation MVC3客户端服务器验证消息不匹配

Validation MVC3客户端服务器验证消息不匹配,validation,asp.net-mvc-3,Validation,Asp.net Mvc 3,对于同一个错误,我会收到不同的错误消息,具体取决于验证发生的位置。关键是服务器正在生成这两条消息,因此它与jquery无关 使用以下模型: public class MyModel { public int MyNumber { get; set; } } 对于客户端验证和无效值,错误消息为: 字段MyNumber必须是一个数字 使用服务器验证时,错误消息为: 值“x”对MyNumber无效 在客户端禁用javascript的情况下,服务器实际上会生成两条消息,但仅显示服务器消息: &

对于同一个错误,我会收到不同的错误消息,具体取决于验证发生的位置。关键是服务器正在生成这两条消息,因此它与jquery无关

使用以下模型:

public class MyModel
{
    public int MyNumber { get; set; }
}
对于客户端验证和无效值,错误消息为:

字段MyNumber必须是一个数字

使用服务器验证时,错误消息为:

值“x”对MyNumber无效

在客户端禁用javascript的情况下,服务器实际上会生成两条消息,但仅显示服务器消息:

<input class="input-validation-error text-box single-line" data-val="true" data-val-number="The field MyNumber must be a number." data-val-required="The MyNumber field is required." id="MyNumber" name="MyNumber" type="text" value="x" />
<span class="field-validation-error" data-valmsg-for="MyNumber" data-valmsg-replace="true">The value &#39;x&#39; is not valid for MyNumber.</span>
我的问题是:

为什么它们不同? 我如何改变它们?
编辑:在这里找到了部分解释和破解:

我不确定它们为什么不同。但要自定义客户端和服务器端验证的错误消息,可以使用数据注释。ASP.NET上没有数据批注。

您建议我使用什么属性?这些是类型转换错误。有一个数据类型属性,但它不适合整数!我尝试使用RegularExpression属性overkill,但它不会更改服务器消息。您找到解决此问题的方法了吗?