ValidationGroupとSetFocusOnError
1.1のときは、検索項目と一覧(編集可能でValidatorつき)が画面に一度に出ると、Validatorが双方に聞いてしまうので、切り替える。という面倒くさい処理があった。が!2.0からはこんな便利なプロパティが!
Control、Validator、などのプロパティに追加されていて、グループごとに検証がかかるようになっている。はー、助かった。コレは楽だ。
こんな感じで、検索エリアの方のValidatorとボタンに「SearchGroup」というプロパティを設定してあげるだけ。動きました。
<html> <head id="Head1" runat="server"> <title>ValidationGruopSample</title> </head> <body> <form id="Form1" runat="server"> <table bgcolor="aqua" width="50%"> <tr> <td align="left" style="height: 20px">検索エリア</td> <td align="right" style="height: 20px"> <asp:RequiredFieldValidator ID="rfvSearch" ControlToValidate="txtSearch" Text="必須デス" ValidationGroup="SearchGroup" SetFocusOnError="true" Runat="Server" /> <asp:TextBox ID="txtSearch" Runat="Server" /> <asp:Button ID="btnSearch" Text="検索" ValidationGroup="SearchGroup" Runat="Server" OnClick="btnSearch_Click" /> </td> </tr> </table> <hr /> <h1>登録フォーム</h1> 名前 <asp:TextBox ID="txtName" Runat="Server" /> <asp:RequiredFieldValidator ID="rfvName" ControlToValidate="txtName" Text="必須ダス" Runat="Server" /><br /> <asp:Button ID="btnEntry" Text="登録" Runat="Server" OnClick="btnEntry_Click" /> </form> </body> </html>
それから、「SetFocusOnError」もいいですね。便利になりました