2012-06-04 78 views
1

我有一個ASP.NET頁面上的控件與必需的字段驗證器。唯一的問題是,當我通過頁面按鈕更改頁面時,它不會導致驗證。這裏是代碼,任何人都可以看到有什麼不對?RequiredFieldValidator不驗證

<asp:Label ID="lblD_Year" runat="server" BorderStyle="None" 
         Text="Fiscal Year" CssClass="h2"></asp:Label>&nbsp;&nbsp;&nbsp; 
       <asp:DropDownList ID="ddlD_Year" runat="server" Width="100px" TabIndex="8" 
        AutoPostBack="True" CssClass="box" CausesValidation="True"> 
        <asp:ListItem Value="0" Selected="True">Select Year</asp:ListItem> 
       </asp:DropDownList>        

       <asp:RequiredFieldValidator ID="rfvD_Year" runat="server" 
        ControlToValidate="ddlD_Year" Display="Dynamic" ErrorMessage="*" 
        Font-Bold="True" ForeColor="Red" InitialValue="Select Year" 
        SetFocusOnError="True"></asp:RequiredFieldValidator> 
+0

按鈕不具有的CausesValidation任何值=「false」,對嗎?該按鈕也在同一個驗證組中? –

+0

它具有causevalidation =「false」,因爲當人們開始在表單上輸入信息時,如果他們按錯了按鈕並需要移動到不同的頁面,它將不允許移動,因爲會進行驗證。有沒有解決的辦法? – developthestars

回答

1

設定的初始值作爲InitialValue="-1"用於驗證或你認爲是空的,如果選擇

+0

仍然沒有工作 – developthestars

+0

請分享整個代碼 – Rab

+0

這是整個代碼。這是一個非常簡單的形式,選擇一個值並按下一個按鈕。 – developthestars

0

集與InitialValue = 「0」

<asp:RequiredFieldValidator ID="rfvD_Year" runat="server" 
        ControlToValidate="ddlD_Year" Display="Dynamic" ErrorMessage="*" 
        Font-Bold="True" ForeColor="Red" InitialValue="0" 
        SetFocusOnError="True"></asp:RequiredFieldValidator> 
+0

這沒有奏效。我原本以爲這個問題也無濟於事。 – developthestars

+0

@developthestars確保您將按鈕的CausesValidation設置爲true(在其上單擊您要啓用驗證的按鈕)。你可以設置CausesValidation爲所有其他按鈕(你不想讓驗證觸發)012假設 –

相關問題