こんにちは私はカスタムフォームフィールドバリデーターで作業しています。カスタムバリデーターは次のページに進むことを許可しないで作業していますが、バリデーションサマリーでも、アスタリスクと、私が見た目にしたラベルは表示されません。私は同じフィールドにRequiredFieldValidatorのような他のバリデータを持っています。 My ValidationGroupが設定され、TextおよびIsValidも設定されます。私はさらに、いくつかの回避策が示唆するように、javascriptにダミーのクライアント側検証メソッドを記述して設定しました。ここ カスタムバリデーターは起動しますが、ValidationSummaryは更新されません
は 背後にあるコードでカスタム検証メソッドカスタムバリデータと必要なフィールドここ1<asp:CustomValidator ID="AddressVerification" runat="server" ErrorMessage="Please enter a valid address." Display="Dynamic" ValidationGroup="Step2" OnServerValidate="AddressVerification_ServerValidate" ClientValidationFunction="CustomValidatorDummy" Text="*" Enabled="true" EnableClientScript="true"></asp:CustomValidator>
<asp:RequiredFieldValidator ID="RFValidatorHomeAddress" runat="server" ErrorMessage="Please enter home address." Text="*" Display="Dynamic" ValidationGroup="Step2" ControlToValidate="txtHomeAddress"></asp:RequiredFieldValidator>
ここ
<asp:ValidationSummary ID="ValidatorSummary" runat="server" ValidationGroup="Step2" />
asp.netでの検証要約コードされています
protected void AddressVerification_ServerValidate(object sender, ServerValidateEventArgs e)
{
//lets just say it doesn't validate and sets the IsValid to false
lblUspsValidatorResHomeCity.Visible = true;
lblUspsValidatorResHomeState.Visible = true;
lblUspsValidatorResHomeZip.Visible = true;
e.IsValid = false;
}
ありがとうございました。
編集: 回答 - bitxwiseとして言及。検証の要約を更新パネル内に配置する必要があります。ありがとう!そのよう
:
<asp:UpdatePanel ID="UpdatePanelValidationSummaryHome" ChildrenAsTriggers="false" UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:ValidationSummary ID="AddressHomeValidationSummary" runat="server" ValidationGroup="AddressHomeValidationGroup"
CssClass="errors" />
</ContentTemplate>
、その後は更新を呼び出す:
UpdatePanelValidationSummaryHome.Update();
ほとんどの場合、ボタンタグにValidationSummaryがありません。 (あなたが投稿していないコード)。 – genericuser
とボタンのデフォルトではCausesValidationはtrueです。 – genericuser
私はあなたの質問に答えると信じていますので、質問を更新してUpdatePanelの関与を反映し、おそらく私の答えを反映させていただければ幸いです。 – bitxwise