Ich habe eine CustomValidator zeigen tut und ich definiert alle möglichen Parameter davon:CustomValidator Nachricht
<asp:CustomValidator ID="custom" runat="server" Text="*" ErrorMessage="This email address is already registered" ControlToValidate="txtEmail" OnServerValidate="isExist" Display="None" ValidationGroup="valRegister"></asp:CustomValidator>
PS: Ich habe eine RequiredFieldValidator für gleiche Textbox haben, und ich möchte nicht leeren Wert überprüfen.
Hier sind weitere Aufgaben der Form:
<div class="row"><asp:Label runat="server" Text="Email" AssociatedControlID="txtEmail"></asp:Label><asp:RequiredFieldValidator runat="server" ErrorMessage="Please enter your email" Text="*" ControlToValidate="txtEmail"></asp:RequiredFieldValidator><asp:TextBox ID="txtEmail" runat="server" CssClass="inpBox"></asp:TextBox></div>
<asp:Button runat="server" Text="Register" CssClass="btn" OnClick="register_member" CausesValidation="true" ValidationGroup="valRegister" />
<asp:ValidationSummary ID="validationSummary" runat="server" ShowMessageBox="true" ShowSummary="false" ValidationGroup="valRegister" />
protected void isExist(object sender, ServerValidateEventArgs args){
if (cre.member.isExist(args.Value)){
args.IsValid = false;
} else {
args.IsValid = true;
}
}
Wenn ich eine E-Mail setzen existieren bereits in der Tabelle db * erscheint in der Form, aber der Fehler Nachricht wird nicht angezeigt. Ich habe alle Anzeigeoptionen für benutzerdefinierte Fehler versucht, aber kein Glück.
Ich erkannte etwas mit Ihrer Antwort, OnServerValidate funktioniert nur, wenn ValidationSummary> ShowSummary "True" ist. ShowMessageBox funktioniert auf der Client-Seite und deshalb funktioniert OnServerValidate nicht. Ich löste mein Problem, indem ich einen Ajax Anruf zu einer aspx Seite hinzufügte, um eingegebene email Adresse zu überprüfen und dann benutzte ich ClientValidationFunction, um diese js Funktion anzurufen. – dvdmn
Aha! Entschuldigung, ich habe nicht bemerkt, dass es sich um den Fehler bei der Nachrichtenbox-Validierung handelt, nach dem Sie gesucht haben. Ja, wenn Sie die clientseitige Messagebox haben möchten, aber die Einbindung des Servers erfordern (z. B. um nach einer E-Mail-Adresse in einer Datenbank zu suchen), müssen Sie etwas Ähnliches tun. – Carson63000