2013-10-20 43 views
0

Hi和感謝提前,帶負號驗證串號採用asp範圍驗證

我有一些緯度和經度,看起來是這樣的:-81.7426684 W - -81.6901007W¯¯,我想使用最小值和最大值屬性使用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能不低於MinimumValue -81.7426684W¯¯RangeLong_Validator的。我認爲它不包括負號。

我不得不使用字符串,因爲我可能有一個格式,看起來像這樣還有:25 32' 13.2" E,124 59.94' E

我了您的任何想法

+0

交換你的低和高值 - 你仍然得到錯誤? – geedubb

+0

@geedubb不,我沒有得到錯誤,但那不會是min的正確界限。 &max。值 – Neo84

回答

0

。一般情況下,當使用RangeValidator作爲數字時,應指定Type =「Integer」或Type =「Double」,但不能使用Type =「String」。

但是,在具體情況下,一個數字 - 它最後有「W」,正如你所提到的那樣,格式可能會更復雜。 因此,爲了正確驗證這些數據,您應該使用CustomValidator。這樣您就可以解析數據並根據任何規則進行測試。

+0

可以說我刪除了這封信,並使用了其他格式之一:** - 25 32'13.2「**,我仍然無法使用範圍驗證權嗎? – Neo84

+0

RangeValidator對度數,分和秒的格式一無所知,它只能處理整數和浮點數 – JustAndrei

+0

asp自定義驗證只使用javascript或我可以做c#以及我也可以刪除引號,如果有必要,但我會有這樣的事情:** - 25 32 13.2 **,但我確定它將如何處理這些空間 – Neo84