Tôi 100% trên tàu với trường hợp một người chắc chắn nên sử dụng cả xác thực dữ liệu phía máy khách và phía máy chủ.
Tuy nhiên, trong các khuôn khổ và môi trường tôi đã làm việc, các phương pháp tôi đã thấy chưa bao giờ là KHÔ. Hầu hết thời gian không có kế hoạch hoặc mẫu - các xác nhận được viết trong thông số mô hình và các xác nhận được viết theo mẫu trên dạng xem. (Lưu ý: Hầu hết trải nghiệm đầu tay của tôi là với Rails, Sinatra và PHP w / jQuery)
Thay đổi nó, có vẻ như sẽ không khó để tạo ra một trình tạo, với một bộ xác nhận hợp lệ (ví dụ như tên mô hình, trường, điều kiện), có thể tạo ra cả vật liệu phía máy khách và phía máy chủ cần thiết. Cách khác, một công cụ như vậy có thể lấy các xác nhận phía máy chủ (chẳng hạn như validates
mã trong mô hình ActiveRecord) và tạo các xác thực phía máy khách (như các plugin jQuery, sau đó sẽ được áp dụng cho biểu mẫu.
Rõ ràng, ở trên chỉ là một "hey tôi đã có ý tưởng này", và không phải là một đề xuất chính thức. Điều này chắc chắn là khó khăn hơn nó tưởng khi ý tưởng tấn công tôi.
Điều đó mang lại cho tôi câu hỏi: Làm thế nào bạn sẽ tiếp cận việc thiết kế một kỹ thuật "viết một lần, chạy trên máy chủ và máy khách" để xác thực dữ liệu?
Chủ đề phụ liên quan: Các công cụ như thế có tồn tại cho bất kỳ khuôn khổ cụ thể hoặc công nghệ máy chủ-máy khách nào không? Các vấn đề hay thách thức chính với việc cố gắng duy trì chỉ một bộ xác nhận là gì?