为listbox编写验证函数

时间:2013-01-17 14:07:04

标签: javascript asp.net customvalidator

我有一个asp控件列表框。我必须验证这一点。这描述如下:

<div style="float:top; width:300px">
  <span>Anrede</span>
     <asp:DropDownList  id="dropdownListAnrede" runat="server" BorderStyle="Solid"
TabIndex="1"  Width="250px" BackColor="White" BorderColor="Silver" BorderWidth="1px" Height="22px">
          <asp:ListItem >Bitte auswählen</asp:ListItem>
          <asp:ListItem Value="Herr">Herr</asp:ListItem>
          <asp:ListItem Value="Frau">Frau</asp:ListItem>
          </asp:DropDownList>
          <asp:CustomValidator ID="CustomValidatorAnrede" 
               **ClientValidationFunction=""** runat="server"
               ControlToValidate="dropdownListAnrede" ValidateEmptyText="true" SetFocusOnError="true" 
        ForeColor="Red" onservervalidate="CustomValidatorName_ServerValidate"> Wählen Sie bitte eine Anrede aus!</asp:CustomValidator>
</div>

我必须验证好像它没有值(Herr / frau),不会发生传递。并且错误消息将显示消息是在文本中写入的。我必须在javascript中编写 ClientValidationFunction 。但我想知道怎么样?

1 个答案:

答案 0 :(得分:1)

添加一个虚拟值作为第一个基本上没有选择的项目:

<asp:DropDownList  id="dropdownListAnrede" runat="server" ...>
    <asp:ListItem >-Select One-</asp:ListItem>

获取下拉列表,并检查其是否具有大于零的选定值(省略第一个)。这将是clientvalidation函数:

function val(sender, e) {
  var ddl = document.getElementById("<%= dropdownListAnrede.ClientID %>");
  e.IsValid = ddl.selectedIndex > 0;
}
相关问题