Display="None"
FieldValidator コントロールの属性とValidationSummary
タグを使用して、メッセージを含めます。
<form id="form1" runat="server">
<asp:TextBox runat="server" ID="TextBox1" /> <br />
<asp:TextBox runat="server" ID="TextBox2" /> <br />
<asp:Button runat="server" Text="Go" />
<div class="messages">
<asp:ValidationSummary id="summery1" runat="server"/>
</div>
<div>
<asp:Panel ID="Panel1" runat="server" >
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="Required Field Validator1 empty" ControlToValidate="TextBox1" Display="None" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ErrorMessage="Required Field Validator2 empty" ControlToValidate="TextBox2" Display="None" />
</asp:Panel>
</div>
</form>
ただし....(常に問題があります)...この方法では、検証メッセージ自体が JavaScript のみに格納されます。Javascriptが無効になっていると機能しないことを意味します。(JS に依存する) WebForms で作業しているので、これは大きな問題ではないと思いますが、言及する価値があると思います。
記録のために、アクセシビリティに関する懸念は、ほとんどがくだらないことです。実際に視覚障害のあるプログラマー (全盲) と一緒に仕事をするまでは、アクセシビリティについて知っていたと思います。次に、JS が問題なく動作すること (新しいコンテンツを探すことを知っていると仮定して...) と、探しているものが見つかるまで、リンクからリンクへとページをスキップすることを学びました。また、テーブルベースのレイアウトでは、1 秒も遅くなりませんでした。数年間CSSについて耐え難いほど説教された後、飲み込むのが難しい薬だった少年....