如果我在下面的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不是一个有效的数字…
默认情况下,如果没有指定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:
这些值隐式地转换为前面指定的数据类型进行了比较。如果数据转换失败,则进行数据验证失败。