我有以下Dropdown
控件
<asp:dropdownlist id="ddlMonth" runat="server" Width="150px" Height="16px">
<asp:ListItem Value="-1">--Select--</asp:ListItem>
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">February</asp:ListItem>
<asp:ListItem Value="3">March</asp:ListItem>
</asp:dropdownlist>
RequiredFieldValidator
验证此下拉列表
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="ddlMonth" InitialValue="-1" ErrorMessage="Please select a month" />
尽管选择了--Select--
选项,但它并没有抛出ErrorMessage
。有什么问题?
答案 0 :(得分:0)
<asp:dropdownlist id="ddlMonth" runat="server" Width="150px" Height="16px" ValidationGroup="ValidateDropDown">
<asp:ListItem Value="-1">--Select--</asp:ListItem>
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">February</asp:ListItem>
<asp:ListItem Value="3">March</asp:ListItem>
</asp:dropdownlist>
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="ddlMonth" InitialValue="-1" ErrorMessage="Please select a month" ValidationGroup="ValidateDropDown" />
<asp:Button ID="btn1_Submit" runat="server" ValidationGroup="ValidateDropDown" />
您必须确保所有项目都具有相同的ValidationGroup。
你也可以没有按钮。但您需要确保验证组正确无误。
在页面加载时,验证程序不会抛出错误。如果您选择了'月',则会抛出错误,然后再次选择初始值。如果这是有道理的:)
答案 1 :(得分:0)
我已使用我的本地版本测试了您的代码,但它运行正常。我在这种情况下可以给出的唯一建议是指定ValidationGroup =&#34;&#34;用于验证控制和按钮,如下所示。
<asp:DropDownList ID="ddlMonth" runat="server" Width="150px" Height="16px" ValidationGroup="month">
<asp:ListItem Value="-1">--Select--</asp:ListItem>
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">February</asp:ListItem>
<asp:ListItem Value="3">March</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="ddlMonth" InitialValue="-1" ErrorMessage="Please select a month" ValidationGroup="month" />
<asp:Button ID="btn" runat="server" CausesValidation="true" ValidationGroup="month" Text="submit" />
可能的情况是更新面板。如果您已将代码放在更新面板中,则尝试始终设置更新模式并检查是否仍然导致问题。
我现在只能说,因为你还没有分享你的整个代码。但是上面的代码在我当地的环境中正常运行。