1

如果我在下面的 RangeValidator 中输入 1.2.1 的值,它会验证 OK

<asp:RangeValidator ID="RangeValidator8" runat="server"
    ControlToValidate="TextBoxSAPPlannedHrs" 
    Display="None" ErrorMessage="Must be a valid number 0-999"
    MaximumValue="999" MinimumValue="0"></asp:RangeValidator>

这怎么能被归类为有效范围。1.2.1 不是有效数字...

4

1 回答 1

2

默认情况下,如果Type未指定,我认为它String在进行比较之前使用作为默认转换类型。

将控件更改为以下内容:

<asp:RangeValidator ID="RangeValidator8" runat="server" ControlToValidate="TextBoxSAPPlannedHrs" 
    Display="None" ErrorMessage="Must be a valid number 0-999"  MaximumValue="999"
    MinimumValue="0" Type="Integer"></asp:RangeValidator>

Integer这将导致在进行比较之前将输入转换为指定的类型 ( )。如果转换失败,则验证将失败。

MSDN

在进行比较之前,这些值会隐式转换为指定的数据类型。如果数据转换失败,则数据验证失败。

于 2014-07-03T14:37:09.997 回答