Có cách nào để ngăn chặn xác thực mô hình trong Backbone.js khi mô hình mới được tạo lần đầu tiên không?Ngăn mô hình Backbone.js xác thực khi lần đầu tiên được thêm vào bộ sưu tập
Trong ứng dụng của mình, tôi có một bộ sưu tập với số lượng mô hình tùy ý, được trình bày dưới dạng mục danh sách. Người dùng có thể nhấp vào một nút trên mỗi mục, sẽ chèn một mục trống mới bên dưới mục hiện tại. Mục trống không được xác thực, rõ ràng là vì tôi không muốn một mục trống được lưu sau này.
Không có cách nào để tôi biết những gì mặc định hợp lý có thể là khi tôi tạo mục mới, vì vậy việc chuẩn bị trước mô hình mới với dữ liệu hợp lệ dường như không phải là một tùy chọn.
Mọi đề xuất?
Cập nhật: Trong khi làm việc trên một vấn đề liên quan đến tiếp tuyến, tôi nhận ra rằng tôi đang sử dụng Backbone.js phiên bản 0.9.0. Khi phiên bản này được phát hành, những người khác có cùng một vấn đề tôi gặp phải và họ đã phàn nàn trong số this issue trên GitHub.
Xác thực được sửa đổi lần cuối trong 0.9.1 để sửa lỗi này. Thêm một mô hình (tạm thời) trống vào một tập hợp là một usecase trong thế giới thực hợp lệ. Bạn có thể xử lý mô hình mới, trống trong khung nhìn, nhưng nếu bạn đang quản lý một danh sách các mục như tôi, điều đó buộc bạn phải có một bộ sưu tập các khung nhìn mục (bao gồm cả khung nhìn trống) ngoài bộ sưu tập của bạn các mô hình hợp lệ. Đó là một giải pháp thực sự khó khăn cho một kịch bản khác đơn giản. Vui mừng điều này đã được cố định.
Không thêm mô hình không hợp lệ có ý nghĩa về mặt lý thuyết, nhưng tôi không thể nghĩ ra cách tốt hơn để cho phép người dùng thêm hàng mới. Tôi đoán tôi có thể xử lý tất cả điều này trong giao diện, sau đó thêm mục vào bộ sưu tập khi nó hợp lệ, nhưng điều đó sẽ làm phức tạp nhiều khía cạnh khác của ứng dụng này. Ví dụ của bạn hoạt động rất tốt, nhưng khi tôi thử nó trong ứng dụng của tôi, tham số 'options' sẽ bị ghi đè với đối tượng' {silent: true} ', mà Backbone.js có vẻ tự động shoehorn. Tôi rất bối rối ngay bây giờ. –
Bạn không nên thêm các mô hình không hợp lệ - chế độ xem sẽ bắt được thông báo 'lỗi' được gửi bởi xác thực trên mô hình và cho phép người dùng sửa đầu vào của họ hoặc hủy bỏ nó. Khi tôi lấy nội dung từ máy chủ của chúng tôi để lấy dữ liệu không hợp lệ, tôi chỉ cần thả nó xuống sàn (và gửi thư đến cơ sở ghi nhật ký Ajax của chúng tôi) vì các mô hình không hợp lệ trong bộ sưu tập là 'ý tưởng tồi' – tkone