使用する必要があるのは、ボタンと検証の両方のValidationGroup属性です。これにより、特定のアクションで、ボタンがクリックされたときにページにバリデーターのサブセットのみを適用できます。
<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />
<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />
これで、btnAがクリックされると、rfvAが有効かどうかのみがチェックされ(txtAがチェックされます)、btnBがクリックされると、rfvBが有効かどうかのみがチェックされます。はい、同じ検証グループに複数の検証コントロールを含めることができます。
CausesValidationプロパティをfalseに設定すると、不要なアクションだけでなく、ボタンのすべての検証アクションが無効になります。