【问题标题】:RequiredFieldValidator for a dropdownlist下拉列表的RequiredFieldValidator
【发布时间】:2012-02-15 15:26:07
【问题描述】:

我有一个在代码中动态开发的下拉列表。

  Dim objPreferenceDropdownList As DropDownList = New DropDownList()
                        objPreferenceDropdownList.ID = "objPreferenceDropdownList"
                        objPreferenceDropdownList.AppendDataBoundItems = "True"

              objPreferenceDropdownList.AutoPostBack = True

我正在使用不同的项目填充此下拉列表,例如

objPreferenceDropdownList.Items.Add(new ListItem("--Select Color--","0"));

 objPreferenceDropdownList.Items.Add(new ListItem("Red","1"));

 objPreferenceDropdownList.Items.Add(new ListItem("Blue","2"));

objPreferenceDropdownList.Items.Add(new ListItem("White", "3"));

objPreferenceDropdownList.Items.Add(new ListItem("Pink", "4"));

现在我需要验证下拉列表,因为在下拉列表中没有选择任何项目,因此我动态创建了一个必填字段验证器,如下所示:

Dim reqPrefGroupValidator As RequiredFieldValidator = New RequiredFieldValidator()
                                reqPrefGroupValidator.ControlToValidate = "objPreferenceDropdownList"
                                reqPrefGroupValidator.InitialValue = "0"
                                reqPrefGroupValidator.SetFocusOnError = True
                                prefdiv.Controls.Add(reqPrefGroupValidator)

问题是必填字段验证器仅在下拉列表为空时有效如果我需要在下拉列表的选定项值为零时触发 requiredfieldvalidator。

【问题讨论】:

  • 设置一个条件来检查是否选择了一个项目,如果没有,则强制 Validae() 方法进行验证

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


【解决方案1】:

将验证器的InitialValue设置为0,验证器的ID当然必须为:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ErrorMessage="RequiredFieldValidator" ControlToValidate="objPreferenceDropdownList" 
        InitialValue="0"></asp:RequiredFieldValidator>

【讨论】:

    【解决方案2】:

    您可以使用 Compare Field Validator 和 CompareValue to 0 和 CompareType int。

    你可以这样做。

    <asp:DropDownList runat="server" ID="objPreferenceDropdownList"></asp:DropDownList>
        <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="plz Select Value" ValueToCompare="0" Operator="GreaterThan" ControlToValidate="objPreferenceDropdownList" Type="Integer"></asp:CompareValidator>
        <asp:Button ID="btnSubmit" runat="server" Text="Submit Form" OnClick="btnSubmit_Click" />
    

    【讨论】:

    • 首选使用RequiredFieldValidator 控件的InitialValue 属性的@nuux 解决方案。
    猜你喜欢
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多