使用 asp 范围验证验证带负号的字符串数字
本文关键字:验证 字符串 数字 asp 范围 使用 | 更新日期: 2023-09-27 18:36:20
嗨,提前感谢,
我有一些纬度和经度看起来像这样:-81.7426684 W - -81.6901007 W 我正在尝试使用 asp 范围验证使用最小值和最大值属性进行验证。
.asp:
<asp:TextBox ID="txtLon" runat="server" CssClass="container-input-field" SkinID="NumTextUpDown"></asp:TextBox>
<asp:RangeValidator ID="RangeLong_Validator" runat="server" ControlToValidate="txtLon"
CssClass="errorMessage" ToolTip="Longitude Out Of Range" Type="String">
<img alt="" src="images/no.png" />
</asp:RangeValidator>
C#:
RangeLong_Validator.MinimumValue = "" + getCompassLon(range.LowLong); // -81.7426684 W
RangeLong_Validator.MaximumValue = "" + getCompassLon(range.HighLong); // -81.7426684 W
rangeSetUp_Lon.Text = RangeLong_Validator.MinimumValue + " - " + RangeLong_Validator.MaximumValue;
我收到此错误:System.Web.HttpException:最大值-81.6901007 W不能小于RangeLong_Validator的最小值-81.7426684 W。我认为它不算负号。
我必须使用字符串,因为我可能也有如下所示的格式:25 32' 13.2" E, 124 59.94' E
我愿意接受任何想法。
一般来说,当对数字使用 RangeValidator 时,你应该指定 Type="Integer" 或 Type="Double",而不是 Type="String"。
但是,在您的特定情况下,主题数据比数字更复杂 - 它的末尾有"W",正如您提到的,格式可能更复杂。因此,为了正确验证此类数据,您应该使用自定义验证器。这样,您将能够解析数据并根据任何规则对其进行测试。