vb.net ASP.NET 中下拉列表的必填字段验证器
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/21375144/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Required Field Validator for Dropdown list in ASP.NET
提问by MusicLovingIndianGirl
I have the following dropdown in my page
我的页面中有以下下拉列表
<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>
And a RequiredFieldValidatorfor it
和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>
But I do not get the Validation Message. What am I missing?
但我没有收到验证消息。我错过了什么?
回答by Sid M
You have taken Display="None"in RequiredFieldValidatortake it as
你已经采取了Display="None"在RequiredFieldValidator把它作为
Display="Dynamic"
and take InitialValue="Null"
并采取 InitialValue="Null"
also assign the same validation group to drop down list
还将相同的验证组分配给下拉列表
i.e. ValidationGroup="valEmployer"
IE ValidationGroup="valEmployer"
回答by Arun Chandran C
try with InitialValue
尝试 InitialValue
InitialValue="Null" Display="Dynamic"
回答by samar
It works. Just make the following 3 changes:
有用。只需进行以下 3 处更改:
Either remove
Display="None"or useDisplay="Dynamic"in RequiredFieldValidatorSet
ValidationGroup="valEmployer"to dropdown as well as the button for which the validation should occurSet
InitialValue="Null"instead ofInitialValue="null"in RequiredFieldValidator with capital "N"
在 RequiredFieldValidator 中删除
Display="None"或使用Display="Dynamic"设置
ValidationGroup="valEmployer"为下拉列表以及应进行验证的按钮设置
InitialValue="Null"而不是InitialValue="null"在 RequiredFieldValidator 中使用大写“N”
The following is the code
以下是代码
<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: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" />
Hope this helps.
希望这可以帮助。
回答by Teju MB
This is working for me-
这对我有用-
<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>
Keep ValidationGroup="valEmployer"on which event you want to fire the Validations.
将ValidationGroup="valEmployer"保留在要触发验证的事件上。
回答by user3218477
Remove ValidationGroup="valEmployer" property from the RequiredFieldValidator control and set InitialValue="Null" instead of "null" in RequiredFieldValidator control. Set Display=Dynamic. Try this.
从 RequiredFieldValidator 控件中删除 ValidationGroup="valEmployer" 属性,并在 RequiredFieldValidator 控件中设置 InitialValue="Null" 而不是 "null"。设置显示=动态。尝试这个。
回答by user3218477
Add ValidationGroup="valEmployer"property in dropdownlist and in the button on click of which validation occurs.
ValidationGroup="valEmployer"在下拉列表和单击发生验证的按钮中添加属性。
OR
或者
Just remove ValidationGroup="valEmployer"property from the RequiredFieldValidatorcontrol.
只需ValidationGroup="valEmployer"从RequiredFieldValidator控件中删除属性即可。

