0

顧客情報を変更するためのページがあります。顧客情報ごとにページに 2 つのテキストボックスを許可します。したがって、顧客が 5 つの情報を持っている場合、私のページには 10 個のテキストボックスがあり、1 つは古い値を表示し、もう 1 つは古い値を表示します。新しい値を入力します。元の情報を持つすべてのテキスト ボックスが表示され、ユーザーがその列を変更するために選択した列に基づいて、テキスト ボックスが表示されます。

新しい値を入力するために使用されるすべてのテキスト ボックスには、必須のフィールド バリデーターがあります。単一フィールドの変更を許可します。私が直面している問題は、ユーザーがユーザーの指定フィールドを変更するために選択し、指定フィールドに値がなく、他のフィールドに組織名に値がなく、選択されたフィールドのみがあるとします。対応するテキストボックスが表示されます。情報を送信しようとすると、組織名の新しいテキストボックスが表示されていなくても、組織名が必要であるというエラーが表示されます。なぜこれが発生しているのかについてのアイデアはありますか?

編集:

<td align="right"><span>Designation:</span></td>
<td>
    <asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtDesignation"
        class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
</td>
<td>
    <asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtNewDesignation"
        class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
    <asp:RequiredFieldValidator ValidationGroup="Group6"
        ControlToValidate="ModifyCustomerByCategorytxtNewDesignation" runat="server"
        EnableClientScript="true" Display="Dynamic" 
        ErrorMessage="The Designation field is required." Text="*">
    </asp:RequiredFieldValidator>
</td> 
4

2 に答える 2

1

単一のフィールドの変更のみを許可する場合は、各フィールドに個別のボタンを追加し、ValidatinGroupそのフィールドバリデーターと一意に共有するようにします (問題は、それらがすべて単一の を共有するValidatinGroupため、すべてが検証されたり、表示されたりしないためです)。

于 2012-06-04T10:06:02.380 に答える
0
 <asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtDesignation"
    class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
 <asp:CustomValidator ID="cvmodify" runat="server" 
    ClientValidationFunction="modify" CssClass="validators" ErrorMessage="*" 
        Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>
 <td>
 <asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtNewDesignation"
    class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
 <asp:CustomValidator ID="cvModify" runat="server" 
    ClientValidationFunction="modify" CssClass="validators" ErrorMessage="*" 
        Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>


 <script language="javascript" type="text/javascript">
   function modify(oSrouce, args) {
     var myTextBox = document.getElementById('<%= ModifyCustomerByCategorytxtDesignation.ClientID %>');
     var myTextBox = document.getElementById('<%= ModifyCustomerByCategorytxtDesignation.ClientID %>');

                if (myTextBox.value) {
                    if (myTextBox.value == "")
                        args.IsValid = false;
                    else
                        args.IsValid = true;
                }
            }
 </script>
于 2014-05-08T09:08:47.903 に答える