2011-07-13 60 views
1

我在.NET問題與服務器端驗證控制在.NET

我正在使用服務器端驗證文本框與驗證的問題,我申請requiredfield和範圍驗證了點。我的問題是我想顯示消息在同一地點,而不是使用
這兩個消息。 假設我離開文本框它說「它是必需的」,如果我輸入一些超出範圍的值,它說「範圍必須是1到100」,但這兩個消息都在不同的地方看起來不太好。

我不想使用驗證總結,我試過「validationGroup」和「顯示」屬性,但我仍然沒有得到解決方案。

任何人都可以有任何想法?

<asp:TextBox ID="txtEmpID" runat="server" CssClass ="textbox"></asp:TextBox> 
      <br /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
       ControlToValidate="txtEmpID" ErrorMessage="Emp ID is Must" 
       Display ="Dynamic"></asp:RequiredFieldValidator> 
       <br /> 
      <asp:RangeValidator ID="RangeValidator1" runat="server" 
       ControlToValidate="txtEmpID" ErrorMessage="Range must be 1 -100" 
       MaximumValue="100" MinimumValue="1" Type="Integer" Display ="Dynamic"></asp:RangeValidator> 

回答

2

您可以使用CustomValidator並手動進行驗證。您將在一個地方和一個驗證中收到消息。另一種解決方案是隻有RangeValidator並且即使TextBox值爲空也啓用它。 ValidateOnEmpty =「true」如果我沒有錯

+0

我從來沒有使用過的CustomValidator是適用的,但現在我想。你有什麼樣的或好的鏈接? –

+0

請閱讀@ http://asp.net-tutorials.com/validation/custom-validator/和http://www.4guysfromrolla.com/articles/073102-1.aspx – ysrb

+0

,第二個選項不適用於RangeValidator –

1

你現在有一個硬編碼<br />之間的兩個驗證。刪除(也可以添加到第一個驗證器的ErrorMessage:ErrorMessage="Emp ID is Must<br />")。

您已擁有Display=Dynamic,因此不發射驗證器不佔用空間。

+0

對不起!這是行不通的。 –

+0

@subeer:究竟是什麼'不工作'?你看到什麼,你想看到什麼? –

-1

ysrb是正確的,你只希望RangeValidator控件,因爲該消息「範圍必須是1 -100」即使文本框留空

+0

不,範圍驗證程序不會觸發空文本框。 –