2011-04-26 80 views
1

根据验证发生的位置,我得到了相同错误的不同错误消息。踢球者是服务器生成这两个消息,所以它不是jQuery相关的。MVC3客户端服务器验证消息不匹配

使用下面的模型:

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> 

我的问题是:

  1. 为什么他们有什么不同?
  2. 我该如何改变它们?

编辑:发现部分解释和黑客的位置:http://forums.asp.net/p/1512140/3608427.aspx

+0

你找到解决这个问题了吗? – nabeelfarid 2011-06-03 11:27:10

回答

0

我不知道为什么他们是不同的。但是要自定义客户端和服务器端验证的错误消息,您可以使用数据注释。 ASP.NET上的数据注解有a tutorial

+0

你建议我使用什么属性?这些是类型转换错误。有一个DataType属性,但它不适合整数!我尝试使用RegularExpression属性(矫枉过正),但它不会更改服务器消息。 – batkuip 2011-04-26 23:37:46