ASP.NET中下拉列表的必填字段验证器

时间:2014-01-27 07:26:09

标签: asp.net vb.net drop-down-menu requiredfieldvalidator

我的页面中有以下下拉列表

<asp:DropDownList ID="cboEmployerType" runat="server" TabIndex="8" Width="60%" onclick="javascript:shouldsubmit=false;">
                       <asp:ListItem Value="Null">-Select-</asp:ListItem>
                       <asp:ListItem Value="E">Employer</asp:ListItem>
                       <asp:ListItem Value="O">OJT Provider</asp:ListItem>
                   </asp:DropDownList>

RequiredFieldValidator

<asp:RequiredFieldValidator ID="cboEmployerType_RequiredFieldValidator" runat="server" InitialValue="null" ErrorMessage="Employer Type Required" ForeColor="Red" Font-Size="0.9em" ControlToValidate="cboEmployerType" ValidationGroup="valEmployer" Display="None"></asp:RequiredFieldValidator>

但我没有收到验证消息。我错过了什么?

6 个答案:

答案 0 :(得分:1)

您已在Display="None"中将RequiredFieldValidator视为

Display="Dynamic"

并取InitialValue="Null"

还将相同的验证组分配到下拉列表

即。 ValidationGroup="valEmployer"

答案 1 :(得分:1)

尝试使用InitialValue

InitialValue="Null" Display="Dynamic" 

答案 2 :(得分:1)

有效。只需进行以下3项更改:

  1. 删除Display="None"或使用RequiredFieldValidator中的Display="Dynamic"

  2. ValidationGroup="valEmployer"设置为下拉列表以及应进行验证的按钮

  3. 在RequiredFieldValidator中设置InitialValue="Null"而不是InitialValue="null",大写为“N”

  4. 以下是代码

        <asp:DropDownList ID="cboEmployerType" ValidationGroup="valEmployer" runat="server" TabIndex="8" Width="60%" onclick="javascript:shouldsubmit=false;">
                       <asp:ListItem Value="Null">-Select-</asp:ListItem>
                       <asp:ListItem Value="E">Employer</asp:ListItem>
                       <asp:ListItem Value="O">OJT Provider</asp:ListItem>
                   </asp:DropDownList>
    
                   <asp:RequiredFieldValidator ID="cboEmployerType_RequiredFieldValidator" runat="server" InitialValue="Null" ErrorMessage="Employer Type Required" ForeColor="Red" Font-Size="0.9em" ControlToValidate="cboEmployerType" ValidationGroup="valEmployer"  Display="Dynamic"></asp:RequiredFieldValidator>
                   <br />
        <asp:Button ID="Button1" ValidationGroup="valEmployer" runat="server" Text="Button" />
    

    希望这有帮助。

答案 3 :(得分:0)

在下拉列表中添加ValidationGroup="valEmployer"属性,并在点击按钮时添加验证。

OR

只需从ValidationGroup="valEmployer"控件中删除RequiredFieldValidator属性即可。

答案 4 :(得分:0)

从RequiredFieldValidator控件中删除ValidationGroup =“valEmployer”属性 并在RequiredFieldValidator控件中设置InitialValue =“Null”而不是“null”。 设置显示=动态。 试试这个。

答案 5 :(得分:0)

这对我有用 -

  <asp:DropDownList ID="cboEmployerType" ValidationGroup="valEmployer" runat="server" TabIndex="8" Width="60%" onclick="javascript:shouldsubmit=false;">
               <asp:ListItem Value="Null">-Select-</asp:ListItem>
               <asp:ListItem Value="E">Employer</asp:ListItem>
               <asp:ListItem Value="O">OJT Provider</asp:ListItem>
           </asp:DropDownList>
    <asp:RequiredFieldValidator ID="cboEmployerType_RequiredFieldValidator" ValidationGroup="valEmployer"  runat="server" InitialValue="Null" ErrorMessage="Employer Type Required" ForeColor="Red" Font-Size="0.9em" ControlToValidate="cboEmployerType"  Display="Dynamic"></asp:RequiredFieldValidator>

ValidationGroup =“valEmployer”保留在您要触发验证的事件上。