Więc już się rozglądam i nie mogę znaleźć podobnego problemu.CompareValidator bez RequiredFieldValidator?
Zasadniczo wygląda na to, że używanie CompareValidator
nie działa bez RequiredFieldValidator
.
<div class="control-group">
<label class="control-label" for="PositionName">
Password:</label>
<div class="controls">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
<%--<asp:RequiredFieldValidator ID="rvPassword" runat="server" ControlToValidate="txtPassword"
ErrorMessage="Please Enter Password" SetFocusOnError="True" ValidationGroup="1"
CssClass="error"></asp:RequiredFieldValidator>--%>
</div>
</div>
<div class="control-group">
<label class="control-label" for="PositionName">
Confirm Password:</label>
<div class="controls">
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqConPass" runat="server" ControlToValidate="txtConfirmPassword"
ErrorMessage="Please Enter Confirm Password" SetFocusOnError="True" ValidationGroup="1"
CssClass="error"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="compPassword" runat="server" ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword" ErrorMessage="Password Mismatch" SetFocusOnError="True"
ValidationGroup="1" CssClass="error"></asp:CompareValidator>
</div>
</div>
Zasadniczo widać mam RequiredFieldValidator
wykomentowane zarówno przepustkę i potwierdzenia przejazdu. Kiedy to zrobię, mogę przesłać tylko z wartością txtPassword textbox
i nic w txtConfirmPassword textbox
.
Jeśli odkomentuję numer RequiredFieldValidators
, to zostanie on porównany tak, jak powinien.
Jeśli to pomaga, muszę to zrobić, ponieważ nie mogę odszyfrować hasła i automatycznie uzupełnić pole tekstowe aktualnym hasłem. Tak więc, gdy użytkownik jest edytowany, będzie musiał wprowadzić nowe hasło za każdym razem z RequiredFieldValidator
na nim.
Więc moim rozwiązaniem było pozbyć się RequiredFieldValidator
i po prostu sprawdzić, czy tekst jest pusty lub pusty, a jeśli tak, to nie aktualizuj hasła, ale jeśli tak nie jest, zaktualizuj użytkownika bez aktualizacji hasło.
Mam nadzieję, że to ma sens, a jeśli ktoś może pomóc, bardzo bym to docenił.
Jeśli potrzebujesz więcej informacji, zapytaj.
Jeszcze raz dziękuję!
Tak, jest to zgodne z projektem. Możesz wykonać sprawdzanie po stronie serwera lub użyć niestandardowego weryfikatora. –
To zadziałało idealnie. Skopiowałem twój kod bezpośrednio i nawet bez wymaganego weryfikatora hasła otrzymałem "Niezgodność haseł" - chociaż wykonałem PostBack w moim teście. – ahwm
Hmm ciekawe, że zadziałało dla ciebie ahwm, nadal nie wydaje się, że mi się podoba. No cóż, przypuszczam, że wezmę radę Henk Holtermana i zrobię to po stronie serwera kontrolnego. Dzięki chłopaki! –