我是ASP.NET的新手。

我有三个ASP控件:文本框,下拉列表和提交按钮。

如果选择了下拉列表,则文本框必须是必填字段,如果未选择下拉列表,则文本框不应是必填字段。现在的挑战是即使没有选择下拉菜单,我的必填字段验证器也会触发。

我正在使用JavaScript检查文本框是否为空并禁用我的必填字段。

<td><label for="schoolName">SCHOOLNAMES</label></td>
   <td><asp:TextBox ID="txtschoolname" runat="server"></asp:TextBox>
       <asp:RequiredFieldValidator ID="RequiredFieldValidatorSchoolName"            runat="server"
        ControlToValidate="txtschoolname" ForeColor="Red"
       ErrorMessage="Required"></asp:RequiredFieldValidator>
   </td>
<td>Bank Name</td>
        <td>
          <select">
              <option>Please select the bank</option>
              <option value="DBN">DBN</option>
              <option value="CCC">CCC</option>
          </select>
        </td>

<td colspan="2">
        <asp:Button ID="Button1" runat="server" Text="submit"
            OnClientClick=" validate();" onclick="Button1_Click"   />


JavaScript:

function validate() {
    var txt = document.getElementById("txtschoolname");
    alert(txt);
    var ddlObj = document.getElementById("<%=txtschoolname.ClientID%>");
    var validatorObject = document.getElementById("<%=RequiredFieldValidatorSchoolName.ClientID%>");

    alert(ddlObj);
    if (txt == null) {
        validatorObject.enabled = false;
        //  validatorObject.isvalid = true;
    }
}

最佳答案

签出此资源:https://msdn.microsoft.com/en-us/library/Aa479045.aspx

看一下客户端API的部分,该部分指示使用ValidatorEnable方法启用或禁用验证器:

ValidatorEnable('<%= RequiredFieldValidatorSchoolName.ClientID %>', false); //disable

关于javascript - C#Asp.net必填字段验证器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32030776/

10-09 08:15