0

フォームにいくつかの必須フィールドと正規表現があります。検証は、ボタンのクリックで開始されます。ボタンをクリックするasp:RequiredFieldと、検証の概要ではなく、宣言されている場所にエラー メッセージが表示されます。これが私のコードです:

検証の概要:

<asp:ValidationSummary id="mySummary" DisplayMode="List" HeaderText="Error:" EnableClientScript="true" ShowSummary="true" runat="server" ValidationGroup="valGroup" />

必須フィールド/正規表現:

<!-- Required -->
<asp:RequiredFieldValidator ID="reqField1" ControlToValidate="txtSomething" ErrorMessage="Something is required" runat="server" Display="Static" InitialValue="" ValidationGroup="valGroup" />
<!-- Regex -->
<asp:RegularExpressionValidator runat="server" id="regexField1" ControlToValidate="txtSomething" 
    ErrorMessage="Something in the wrong format."  ValidationExpression="^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$" ValidationGroup="valGroup">
</asp:RegularExpressionValidator>

ボタン:

<asp:LinkButton ID="btnValidate" runat="server" CausesValidation="True" ValidationGroup="valGroup" >Validate</asp:LinkButton>

助言がありますか?

4

1 に答える 1

0

私には正しく設定されているように見えるので、これから判断するのは難しいです。デバッグする唯一の方法は、Page.Validatorsコレクションをチェックし、そこにあるバリデーターを見つけて、IsValidそれらの人が false であることを確認することです。すべては、ValidationSummaryこのコレクションをチェックすることであり、一致する検証グループがある場合、IsValidプロパティが false の場合、それをレンダリングされるリストに追加します。

于 2013-05-20T15:24:05.543 に答える