Bonjour, Je travaille sur un validateur de champ de formulaire personnalisé, il semble que le validateur personnalisé fonctionne en ne lui permettant pas de passer à la page suivante, mais il ne met pas à jour le Résumé de validation et n'affiche pas l'astérisque et les étiquettes que j'ai rendues visibles. J'ai aussi d'autres validateurs comme RequiredFieldValidator sur le même champ. My ValidationGroup est défini, de même que Text et IsValid. J'ai même écrit et mis en place une méthode de validation côté client factices en javascript comme le suggère certaines solutions de contournement.La validation du validateur personnalisé ne met pas à jour le ValidationSummary
est ici le code sommaire de validation asp.net
<asp:ValidationSummary ID="ValidatorSummary" runat="server" ValidationGroup="Step2" />
Voici le validateur personnalisé et le champ nécessaire un
<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>
est la méthode de validation personnalisée ici dans le code derrière
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;
}
s'il vous plaît aviser, merci.
EDIT: Répondu - comme indiqué par bitxwise. le résumé de validation doit également être placé dans un panneau de mise à jour. Merci!
Comme si:
<asp:UpdatePanel ID="UpdatePanelValidationSummaryHome" ChildrenAsTriggers="false" UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:ValidationSummary ID="AddressHomeValidationSummary" runat="server" ValidationGroup="AddressHomeValidationGroup"
CssClass="errors" />
</ContentTemplate>
puis appeler la mise à jour:
UpdatePanelValidationSummaryHome.Update();
Vous avez probablement besoin de ValidationSummary dans votre tag de bouton. (ce code que vous n'avez pas posté). – genericuser
et CausesValidation est vrai par défaut pour le bouton. – genericuser
Je crois que j'ai répondu à votre question (s) donc je vous serais reconnaissant si vous souhaitez mettre à jour votre question pour refléter correctement l'implication d'un UpdatePanel et peut-être créditer ma réponse ... – bitxwise