1

テストのために、私はcustomvalidationを試しました

function ClientValidate(sender, args) { 
       //return false for testing...
       args.IsValid = false;

    }

 <asp:CustomValidator runat="server" ID="CustomValidator1" ControlToValidate="ddldetail"
                        Text="Please select" ValidateEmptyText="true"    
                        ClientValidationFunction="ClientValidate"  
                        Display="Dynamic">     
                    </asp:CustomValidator>

編集:これが私が正確に望んでいることです:

ここに画像の説明を入力

ドロップダウンリストを検証する方法と私はこれを無数に行ってきましたが、ここで何が間違っていますか? 2番目の目がそれを見つけるでしょうか?ユーザーがヘルプを選択していない場合、ドロップダウンリストを検証しようとしていますか?

<asp:Button ID="btn" runat="server" Text="Submit" OnClick="btn_Click"  CausesValidation="true"/>

<asp:GridView ID="GVInputMapping" runat="server" AutoGenerateColumns="False" DataKeyNames="Id"
                     EnableModelValidation="True" onrowdatabound="GVInputMapping_RowDataBound">
                    <Columns>
                        <asp:BoundField DataField="Name" ControlStyle-Width="250px" HeaderText="Name" SortExpression="Name" />
                        <asp:TemplateField>
                            <ItemTemplate>
                        <asp:DropDownList runat="server" ID="ddldetail">
                        <asp:ListItem Selected="True" Value="0">Select me</asp:ListItem>
                        <asp:ListItem Value="1">abc</asp:ListItem>
                        <asp:ListItem Value="2">GHt</asp:ListItem>
                    </asp:DropDownList>
    <asp:RequiredFieldValidator ID="requiredDDL" runat="server" 
                        ControlToValidate="ddldetail" ErrorMessage="Please select" InitialValue="Select me"  Display="Dynamic"></asp:RequiredFieldValidator>

                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
4

1 に答える 1

0

バリデーターのをSelectmeInitialValueに設定していますが、そのアイテムのは実際には次のとおりです。0

<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem Text="Select Me" Value="0" />
    <asp:ListItem Text="Foo" Value="1" />
    <asp:ListItem Text="Bar" Value="2" />
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="DropDownList1" 
    ErrorMessage="Please select" 
    InitialValue="0"        
    Display="Dynamic">
</asp:RequiredFieldValidator>

また、行ごとに一意の検証グループを割り当てる必要があります。そうしないと、行ごとに検証が開始されます。一意の検証グループを割り当てるには、次のId列を使用できます。

ValidationGroup='<%# string.Format("Group_{0}", Eval("Id")) %>'

これをバリデーターと行のボタンに追加します。

于 2012-05-09T21:36:26.177 に答える