asp.net列表框验证传递没有选择值

时间:2013-12-15 20:57:44

标签: c# asp.net validation listbox

我有一个包含来自数据库的数据的列表框。但即使没有选择值,验证也会通过。 我试过,只是简单的必填字段验证器,也不起作用。 这是代码。

           <asp:Panel ID="panelDelivery" runat="server"  Visible="false" 
               style="position: relative; top: -130px; background-color: #66FF33; left: 0px;"  >
           <asp:Label ID="lblOverWeight" runat="server" Width="344px"></asp:Label><br />
           <asp:ListBox ID="listBxDelivery" runat="server" DataSourceID="Delivery" 
               DataTextField="DataText" DataValueField="Price" Width="489px"         
               AppendDataBoundItems="True" CausesValidation="True" AutoPostBack="True" 
                   style="top: 0px; left: 0px">
           </asp:ListBox>
                 
    <asp:RequiredFieldValidator ID="rfvDelivery" runat="server"
                   ErrorMessage="* Select Delivery " ControlToValidate="listBxDelivery"></asp:RequiredFieldValidator>

1 个答案:

答案 0 :(得分:0)

默认情况下,requiredFieldValidator将比较其initialValue(默认为“”)和ControlToValidate选定的值。确保没有设置listbox selectedvalue,如果更改它也会更改requiredFieldValidator的初始值。 见下面的例子

<asp:ListBox ID="ListBox1" runat="server">
                            <asp:ListItem Text="1" Value="1" ></asp:ListItem>
                            <asp:ListItem Text="2" Value="2" ></asp:ListItem>
                            <asp:ListItem Text="2" Value="2" ></asp:ListItem>
    </asp:ListBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"    ErrorMessage="Error, Select value" ControlToValidate="ListBox1"></asp:RequiredFieldValidator>

<asp:ListBox ID="ListBox1" runat="server">
                        <asp:ListItem Text="1" Value="1" Selected="True"></asp:ListItem>
                        <asp:ListItem Text="2" Value="2" ></asp:ListItem>
                        <asp:ListItem Text="2" Value="2" ></asp:ListItem>
</asp:ListBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="ListBox1" InitialValue="1"></asp:RequiredFieldValidator>