Имам полета за потребителско име и парола, като и двете работят добре с RequiredFieldValidator. Точно под това поставих CustomValidator и се опитвам да получа подобна проверка от задния код, когато паролите не съвпадат.
<asp:RequiredFieldValidator runat="server" ID="PWRequired"
ControlToValidate="PasswordTextbox"
Display="None"
ErrorMessage="<b>Required Field Missing</b><br />A password is required." />
<asp:CustomValidator runat="server" ID="PWMatch"
ControlToValidate="PasswordTextbox"
Display="None"
ErrorMessage="<b>Password is Invalid</b><br />Please enter a valid password." />
<AjaxControl:ValidatorCalloutExtender
runat="Server"
ID="PWValidationExtender"
TargetControlID="PWRequired"
Width="185px"
WarningIconImageUrl="/Images/warning.gif" />
<asp:TextBox ID="PasswordTextbox" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
(Надявам се, че е форматирано правилно. Никога не съм успявал да проработи нещото „4 интервал“.
След това в кода отзад, когато PW не съвпадат, опитвам това:
CustomValidator myValidator = (CustomValidator)this.FindControl("PWMatch");
myValidator.Text = "<b>Password is Invalid</b><br />Please enter a valid password.";
ValidatorCalloutExtender myValExtender = (ValidatorCalloutExtender)this.FindControl("PWValidationExtender");
myValExtender.ID = "PWValidationExtender";
myValExtender.TargetControlID="PWMatch";
myValExtender.WarningIconImageUrl = "/Images/warning.gif";
myValExtender.Width = new Unit(250);
Надявам се да е нещо просто и глупаво, което пропускам. Изгорих цял ден, опитвайки се да разбера това.
Благодаря ви предварително за помощта.
=========================================================================
Благодаря freefaller. Опитах това и получих "няма радост". И така, идвам към него от малко по-различна посока.
Промених на CompareValidator, като този: (отново, надявам се маркирането да работи)
<asp:CompareValidator runat="server" ID="PWCompareValidator"
ControlToValidate="PasswordTextbox"
Operator="Equal"
ValueToCompare="<%# GetPassword() %>"
Text="<b>Password is Invalid</b><br />Please enter a valid password."
Type="String" />
Дава ми съобщение, но винаги оценява като „false“, защото методът GetPassword не се извиква. Ако продължа да се натъквам на това, мисля, че мога да го накарам да работи, но ако видите бързо решение, аз съм целият в ушите. Благодаря отново!!