2010-04-22 54 views
5

Tôi có TextBox với RequiredFieldValidator trên trang của tôi. Tôi cũng có liên kết gọi một số javascript đơn giản.Làm thế nào vô hiệu hóa RequiredFieldValidator trong script

<asp:TextBox ID="TextBox1" runat="server" /> 
<asp:RequiredFieldValidator 
ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox1" 
Display="Dynamic" /> 
<asp:LinkButton ID="Link1" runat="server" OnClientClick="DoSomething(); return false;" CausesValidation="false"Text="Do" /> 

function DoSomething() { 
textbox1.val("blah"); } 

Khi người dùng nhập nội dung vào hộp văn bản rồi xóa văn bản đó và tập trung kiểm soát tiếp theo - khi đó trình xác thực sẽ kích hoạt. Sau đó, người dùng có thể sử dụng liên kết để thêm văn bản bằng javascript. Văn bản TextBox1 không còn trống nhưng RequiredFieldValidator vẫn hiển thị thông báo lỗi. Làm thế nào để ngăn chặn điều đó?

Trả lời

0

Toàn bộ điểm của trình xác thực là chúng được sử dụng cho cả hai phía máy chủ xác thực phía máy khách.

Nếu bạn chỉ muốn xác thực ở phía máy chủ, không sử dụng trình xác thực và chỉ cần kiểm tra xem các giá trị có hợp lệ hay không và báo cáo lỗi.

+0

Tôi muốn xác thực để xảy ra phía máy khách. Hãy xem DoSomething() thêm văn bản vào TextBox1 nhưng ValidationError vẫn hiển thị thông báo lỗi và gây nhầm lẫn cho người dùng. – jlp

6

bạn có thể sử dụng javascript ValidatorEnable chức năng

ValidatorEnable(document.getElementById('<%= ValidatorID.ClientID %>'), true); 
1

Tôi muốn giới thiệu một CustomValidator đây kể từ khi bạn không muốn RequiredFieldValidator hành vi bình thường. Phương thức khách hàng CustomValidator sẽ chỉ chạy khi đăng lại.

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