У меня есть поля User ID и Password, оба из которых хорошо работают с 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);
Я надеюсь, что это что-то простое и глупое, что мне не хватает. Я сжег целый день, пытаясь понять это.
Заранее спасибо за помощь.
=========================================================================
Спасибо свободнопадающему. Я пробовал это и не получил "радости". Итак, я подхожу к этому немного с другой стороны.
Я перешел на 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 не вызывается. Если я продолжу работать над этим, я думаю, что смогу заставить его работать, но если вы видите быстрое решение, я весь в ушах. Еще раз спасибо!!