2008-10-20 25 views

Trả lời

18

Quy tắc/xác thực tên miền phải nằm trong Mô hình. Bạn có thể có một model.validate() để cho bạn biết nếu các quy tắc không bị vi phạm. Xem các lớp Rails model (ActiveRecord) để thực hiện tốt khái niệm này.

Chế độ xem sẽ khiến người dùng gặp khó khăn trong việc nhập khóa không hợp lệ. Vì vậy, việc nhập một chuỗi cho một giá trị số 'lớp của lỗi đầu vào nên được nipped trước khi tiếp cận với người trình bày. Có thể có một số trùng lặp xác thực giữa mô hình và chế độ xem. Ví dụ. AttributeX phải nằm trong khoảng từ 1-100. Điều này phải được xác thực trong mô hình .. đồng thời bạn có thể muốn đặt trong một spinner trong giao diện người dùng với phạm vi minValue và maxValue được đặt thành 1-100.

+0

Bạn có thể trả lời http://stackoverflow.com/questions/8851933/event-bubbling-and-mvp-asp-net không? – Lijo

0

Người trình bày ....

Chế độ xem phải có "tiện ích con" ngăn đầu vào không hợp lệ khi có thể.

3

Tôi thường giữ cho chế độ xem của mình hoàn toàn sạch sẽ, không có logic ở đó. Nhưng tôi không làm nhiều phát triển web. Trong các tình huống Ajax-ish, bạn có thể muốn có xác nhận hợp lệ phía khách hàng phải đi trong khung nhìn.

Xác thực logic nghiệp vụ có trong mô hình. Với xác thực logic nghiệp vụ, tôi có nghĩa là những thứ như kiểm tra kích thước đơn đặt hàng tối thiểu, v.v.

Xác thực nhập vào trong trình bày. Điều này có thể là những thứ như kiểm tra nếu một trường số không chứa ký tự không phải số. Nhưng tùy thuộc vào tình huống của bạn, điều này cũng có nghĩa là kiểm tra xem các tệp có tồn tại hay không.

Trong trường hợp phức tạp hơn, việc xác nhận có thể được sử dụng lại ở các vị trí khác nhau. Điều này giải quyết một số vấn đề với việc sao chép mã xác nhận được sử dụng trong lớp trình bày cũng như lớp kiên trì chẳng hạn.

+0

Đó là cách tiếp cận mà chúng tôi đã thực hiện - chúng tôi đã xác thực trong gói chia sẻ để chúng tôi có thể kiểm tra dữ liệu nhập hai lần: một lần trong ứng dụng để chúng tôi có thể thông báo cho người dùng ngay nếu đầu vào không hợp lệ và một lần nữa trong máy chủ để đảm bảo người dùng không gian lận. –

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