2011-03-22 33 views
17

Tôi đang sử dụng trình xác thực tùy chỉnh để gọi hàm javascript để xác thực. Vấn đề của tôi là tôi cần có khả năng tự động thay đổi thông báo lỗi. Đây là mã:Thông báo lỗi động cho khách hàng của trình xác thực tùy chỉnh

  <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="fcnValid1" 
       ErrorMessage="" Display="None" ValidateEmptyText="True"> 
      </asp:CustomValidator> 

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ShowMessageBox="True" ShowSummary="False" /> 

    function fcnValid(source, args) { 
     var Status = document.getElementById("<%=ddlStatus.ClientID%>").value 

     if (Status == "In Underwriting") { 
      if (document.getElementById("<%=txtRequestor.ClientID%>").value == "") { 
       //sender.errormessage = "Test1" 
       //sender.innerHTML = "Test2"; 
       document.getElementById("<%=txtRequestor.ClientID%>").focus(); 
       args.IsValid = false; 
      } 
     } 
    } 

Trả lời

15

Trong xác nhận của bạn javascript bạn có thể thay đổi thông điệp bằng cách truy cập nó thông qua source:

source.errormessage = "custom message here"; 

Tìm thấy câu hỏi này về SO mà nên cung cấp cho bạn một số thông tin cũng như:

How can I rewrite the ErrorMessage for a CustomValidator control on the client?

+0

Cảm ơn bạn, đây là những gì đã kết thúc: – Mike

+3

source.errormessage = "* Không phải điện thoại ở Vương quốc Anh" – Mike

+0

không hoạt động đối với tôi, 'source.errormessage =" custom message here ";' hoạt động tốt –

1
source.errormessage = "custom message here"; 
9

cũng source.errormessage không hoạt động chính xác một thời gian

những gì tôi đề nghị là sử dụng source.innerText = "error message";

+0

Tôi muốn biết tại sao 'innerText' hoạt động thay vì' errormessage'. Có liên quan gì đến phiên bản .net không? – Esen

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