2008-09-19 55 views
9

Có cách nào dễ dàng, thông minh để giữ cho quy tắc xác thực phía máy khách và phía máy chủ của bạn được đồng bộ hóa không?ASP.NET: Đồng bộ hóa quy tắc xác thực phía máy khách và phía máy chủ

Về phía khách hàng, chúng tôi có JavaScript, có thể một số loại khung như jQuery hoặc YUI.

Ở phía máy chủ, chúng tôi có ASP.NET WebForms hoặc ASP.NET MVC.

gì được xác nhận là những thứ như:

  • Đúng e-mail-địa chỉ
  • Đúng nhà địa chỉ và mã bưu chính
  • đúng số thẻ tín dụng

Và vân vân .

Trả lời

2

< asp: RegularExpressionValidator ... > (và các trình xác thực asp.net khác) triển khai kiểm tra phía máy chủ và phía máy khách theo cùng quy tắc.

+0

Kiểm tra phía máy chủ nào? Và làm thế nào điều này làm việc với ASP.NET MVC. –

+0

Tất cả các trình duyệt tính hợp lệ trong ASP.NET hoạt động trên cả phía máy khách lẫn phía máy chủ, bởi vì chỉ việc xác thực máy khách sẽ là một lỗ hổng bảo mật lớn. Tôi chưa thử sử dụng trình xác nhận hợp lệ trong MVC. –

1

viết một kho dữ liệu thử nghiệm lớn, phổ biến thể hiện các quy tắc xác thực và đơn vị kiểm tra trình xác thực của bạn dựa trên dữ liệu phổ biến này.

Khi quy tắc của bạn thay đổi, bạn phản ánh điều này bằng cách cập nhật dữ liệu thử nghiệm và kiểm tra cho đến khi mọi thứ trở lại màu xanh lục.

1

Tôi luôn sử dụng trình xác thực được tích hợp sẵn. Ví dụ nếu bạn sử dụng một RegularExpressionValidator và cung cấp một ValidationExpression nó sẽ xác nhận trên phía máy khách (nếu có) và phía máy chủ sử dụng cùng một mã.

Bạn có thể viết trình xác thực tùy chỉnh của riêng mình bằng cách lấy từ BaseValidatior. Việc này cho phép bạn tạo Valdiation Server bằng cách ghi đè EvaluteIsValid. Sau đó, bạn có thể thêm xác thực ứng dụng khách sau này nếu cần.

1

Đây không phải là giải pháp thực tế, nhưng hãy xem Axial project trên CodePlex. Nó là một dự án chuyển đổi C# thành Javascript cho web và có một điều khiển cho phép bạn sử dụng cùng một mã để xác thực phía máy chủ và xác thực phía máy khách. Nó chưa sẵn sàng để sản xuất, nhưng tôi tò mò muốn xem đây có phải là thứ bạn đang tìm kiếm hay không.

1

xVAL khá dễ dàng hơn một chút so với Xác thực thư viện doanh nghiệp và xử lý xác thực hợp lệ mô hình cho cả Máy khách và Máy chủ.

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