2013-11-15 59 views
0

我有一个网格popupeditform。我已经对绑定模型应用了验证规则。在测试中,我发现除了用户指定的验证之外,一些框架生成的错误也出现了。覆盖.net mvc框架验证?

我如何可以覆盖这些消息

如:

这是我给的验证

[Range(0, 100, ErrorMessage = "Ratio should be between 0 and 100")] 
[Required(ErrorMessage = "Ratio is required")] 
public double Ratio {get; set; } 

在运行时我给值“2147483648”,这是仅高于最大值。而且我得到的错误是“Int32的值对于太大或太小”。如果我给出的值在允许的范围内,比如2147483647这是int32的边际值,那么我的验证规则就会被应用。

所以我的含义是,控件首先来到框架并首先显示框架验证消息。

以任何方式我可以重写相同的?

+0

使用具有'double'的'RangeAttribute'构造函数的重载会稍微改善这一方面,但是您仍然必须处理超出范围的数字来处理双精度... –

+0

您提到了范围验证并且需要。如果验证由于任何其他原因而失败,它将生成与错误相关的消息,而不是您的转义验证消息。 – Sakthivel

+0

你确定它不是一个显示为'ErrorMessage'的'Exception'消息吗? –

回答

0

您提到了范围验证和必需的验证。如果验证因任何其他原因而失败,它将生成与错误相关的消息,而不是您的转义验证消息。

您应该限制输入的最大长度。如果它的双倍设置最大长度相应和其他类似。所以你的验证不会有错误。

+0

你的意思是我需要设置允许的最大位数。问题是;类似比例我有一个价格领域。我怎么可以在这里限制数字。或者有没有关于此的任何规范 –

+0

在验证时,您应该检查用户输入的内容或限制用户只输入特定范围的值。这是我的想法。 – Sakthivel