2012-01-04 29 views
6

Tôi có hộp văn bản mật khẩu và xác nhận hộp văn bản mật khẩu mà tôi sử dụng comparevalidator để đảm bảo chúng bằng nhau. Nếu không, tôi muốn người dùng nhận được thông báo lỗi cho biết họ không khớp. Tuy nhiên, tôi không muốn điều này hiển thị cho đến khi người dùng nhấp vào một nút. Điều đang xảy ra là khi tôi tab từ hộp văn bản đầu tiên đến hộp thứ hai, tôi ngay lập tức nhận được lỗi đó.Ngăn không cho trình so sánh hiển thị lỗi cho đến khi nút được nhấp

Làm cách nào để ngăn lỗi này hiển thị cho đến sau khi tôi nhấp vào nút?

Trả lời

4

Một cách rất đơn giản để làm được việc này sẽ được đảo ngược ControlToCompareControlToValidate

<label>Password: <asp:TextBox ID="password" runat="server"></asp:TextBox></label><br/> 
<label>Confirm Password:<asp:TextBox ID="confirmPassword" runat="server"></asp:TextBox></label> 
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="password" ControlToValidate="confirmPassword" ErrorMessage="Passwords do not match"></asp:CompareValidator> 

Bằng cách đảo ngược những tính chất xác nhận chỉ nên xảy ra khi họ tab ra khỏi mật khẩu xác nhận hộp văn bản. (Điều này giả định người dùng điền vào biểu mẫu trên xuống dưới và không dưới cùng, nhưng ai làm điều đó anyways)

+0

Đây có lẽ là giải pháp tốt nhất hiện tại mà không áp dụng javascript. –

Các vấn đề liên quan