Validation MVC3客户端服务器验证消息不匹配
对于同一个错误,我会收到不同的错误消息,具体取决于验证发生的位置。关键是服务器正在生成这两条消息,因此它与jquery无关 使用以下模型: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的情况下,服务器实际上会生成两条消息,但仅显示服务器消息: &
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 'x' is not valid for MyNumber.</span>
我的问题是:
为什么它们不同?
我如何改变它们?
编辑:在这里找到了部分解释和破解:我不确定它们为什么不同。但要自定义客户端和服务器端验证的错误消息,可以使用数据注释。ASP.NET上没有数据批注。您建议我使用什么属性?这些是类型转换错误。有一个数据类型属性,但它不适合整数!我尝试使用RegularExpression属性overkill,但它不会更改服务器消息。您找到解决此问题的方法了吗?