0

嗨,提前感谢,

我有一些看起来像这样的纬度和经度: -81.7426684 W - -81.6901007 W我正在尝试使用 asp rangevalidation 使用最小值和最大值属性进行验证。

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:MaximumValue -81.6901007 W 不能小于 RangeLong_Validator 的 MinimumValue -81.7426684 W。我认为它不算负号。

我必须使用字符串,因为我可能也有这样的格式:25 32' 13.2" E, 124 59.94' E

我愿意接受任何想法。

4

1 回答 1

0

一般来说,当对数字使用 RangeValidator 时,您应该指定 Type="Integer" 或 Type="Double",而不是 Type="String"。

但是,在您的具体情况下,主题数据比数字更复杂 - 最后有“W”,正如您提到的格式可能更复杂。因此,为了正确验证此类数据,您应该使用 CustomValidator。通过这种方式,您将能够解析数据并根据任何规则对其进行测试。

于 2013-10-20T22:52:32.320 回答