0

私は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を書かなければなりません。でもどうやって?

4

1 に答える 1

1

基本的に選択されていない最初の項目としてダミー値を追加します。

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

ドロップダウン リストを取得し、ゼロより大きい値が選択されているかどうかを確認します (最初の値は省略します)。これは clientvalidationfunction になります:

function val(sender, e) {
  var ddl = document.getElementById("<%= dropdownListAnrede.ClientID %>");
  e.IsValid = ddl.selectedIndex > 0;
}
于 2013-01-17T14:10:34.863 に答える