2009-09-26 30 views
7

Tôi đã đọc here rằng bất kỳ trình xác thực ASP.NET nào có thuộc tính được gọi là: "isvalid". Thuộc tính này có thể được sử dụng ở phía máy khách để kiểm tra xem trình xác thực có thành công thông qua việc xác thực hay không.Truy cập thuộc tính isvalid của trình xác thực ASP.NET trong Javascript

Tôi cố gắng để truy cập vào tài sản này như sau nhưng đối với một số lý do mã thất bại:

alert (. Document.getElementById ("validator_clientID") IsValid);

Bạn có biết tại sao tính năng này không hoạt động không?

+0

Vui lòng đăng tuyên bố xác thực, cùng với JavaScript đầy đủ của bạn. Ngoài ra, làm rõ những gì bạn có nghĩa là 'không có may mắn'. Bạn nhận được lỗi nào? Hiển thị trạng thái hiện tại của thuộc tính isvalid bằng cách sử dụng phương thức bạn đã cung cấp cho tôi. Tôi nghi ngờ id bạn đang sử dụng (validator_clientID) là không chính xác. – Phaedrus

+0

Tôi đã thử truy cập nó như thế và nó hoạt động: bool flag = validatorname.isvalid; Vì một số lý do, việc truy cập isvalid thông qua đối tượng trực tiếp có thể truy cập được. Nhưng tôi không biết tại sao nhận được phần tử bằng cách sử dụng getElementById đã không lấy được đối tượng. Tôi đã thử sự kiện này bằng cách sử dụng ID trình xác thực - không phải là ClientID - và nó vẫn không thể truy cập được. Tôi có giá trị không xác định. – mohammedn

Trả lời

2

tôi thấy như vậy!

thử này document.getElementById('XXX').Validators[0].isvalid Đó là làm việc cho tôi

3

Tôi không nghĩ isvalid hoạt động trên điều khiển trình xác thực trực tiếp vì đây là chức năng xác thực phía máy chủ. Bạn có thể kích hoạt kiểm tra trình duyệt tính hợp lệ cho trang hiện tại hoặc nhóm xác thực bằng chức năng javascript phía máy khách Page_ClientValidate. Bạn có thể tùy chọn chỉ định một tên nhóm xác nhận một tham số. Điều này sẽ trả về true nếu tất cả các xác thực được chuyển.

Bạn cũng có thể nhìn vào có sẵn nhiều chức năng client-side và làm thế nào họ lập bản đồ đến các chức năng phía máy chủ trên MSDN tại địa chỉ:

http://msdn.microsoft.com/en-us/library/yb52a4x0.aspx

+0

@mnour chỉ theo dõi, bạn có bao giờ tìm ra điều này không? – Kelsey

+0

Điều này làm việc cho tôi. Có vẻ như ... 'var isValid = Page_ClientValidate();' – Homer

0

Hãy nhớ để gọi

IsValid 

thay

isvalid 

(có thể thay đổi)

0

Về phía khách hàng javascript:

var controlIsValid = this.document.getElementById ("validatorID"). Attributes.isvalid.value;

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