Giới thiệu
Lấy các biểu mẫu động với việc gửi và thu thập dữ liệu theo thời gian thực.
Thêm thông tin về giao diện người dùng của mô-đun https://doc.oneentry.cloud/docs/category/forms
🎯 Mô-đun này làm gì?
Mô-đun Forms cho phép bạn lấy các biểu mẫu - biểu mẫu liên hệ, khảo sát, đăng ký, biểu mẫu phản hồi - để bạn có thể hiển thị chúng trong ứng dụng của mình. Bạn xây dựng các biểu mẫu trong bảng điều khiển quản trị OneEntry; SDK sẽ lấy cấu trúc của chúng (các trường, bộ xác thực, nhãn địa phương hóa) một cách động. Việc thu thập các phản hồi thực tế được xử lý bởi mô-đun FormsData.
🚀 Bắt đầu nhanh
Khởi tạo mô-đun từ defineOneEntry:
const { Forms } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Lấy một biểu mẫu duy nhất theo dấu hiệu của nó và đọc các trường của nó:
// Fetch the "contact_form" form structure.
const form = await Forms.getFormByMarker("contact_form", "en_US");
console.log(form.identifier, form.localizeInfos.title);
// Render each field from the form's attributes.
form.attributes.forEach((field) => {
console.log(field.marker, field.type, field.localizeInfos.title);
});
Để liệt kê mọi biểu mẫu (phân trang), sử dụng getAllForms(langCode, offset, limit), trả về một đối tượng { total, items }.
✨ Khái niệm chính
Biểu mẫu là gì?
Một biểu mẫu (IFormsEntity) là một cách có cấu trúc để thu thập thông tin từ người dùng:
- Các trường (
attributes) - các phần tử đầu vào, mỗi phần tử là một thuộc tính với mộttype(string,text,file,list, …) - Bộ xác thực (
validators) - các quy tắc theo trường (bắt buộc, độ dài chuỗi, định dạng email) - Cấu trúc - bố cục và nhãn địa phương hóa được định nghĩa trong bảng điều khiển quản trị OneEntry
- Phản hồi - các phản hồi của người dùng, được gửi và lấy qua mô-đun FormsData
Các loại trường biểu mẫu
Mỗi trường có type là một AttributeType. Các giá trị phổ biến:
Loại (AttributeType) | Mô tả | Ví dụ sử dụng |
|---|---|---|
| string | Văn bản ngắn một dòng | Tên, Tiêu đề, Thành phố |
| text / textWithHeader | Văn bản nhiều dòng | Tin nhắn, Bình luận, Tiểu sử |
| integer / real / float | Đầu vào số | Tuổi, Số lượng, Giá cả |
| date / dateTime / time | Bộ chọn ngày & giờ | Ngày sinh, Ngày sự kiện |
| list | Dropdown / chọn nhiều từ các tùy chọn | Quốc gia, Danh mục |
| radioButton | Lựa chọn đơn từ các tùy chọn | Kích thước, Kế hoạch |
| file / image | Tải lên tệp / hình ảnh | Sơ yếu lý lịch, Ảnh, Tài liệu |
| groupOfImages | Nhiều hình ảnh | Thư viện |
| entity | Tham chiếu đến một thực thể khác | Sản phẩm hoặc trang liên kết |
Lưu ý: Email là một trường string với emailInspectionValidator được kích hoạt — không có loại trường email riêng biệt.
📋 Những điều bạn cần biết
Cấu trúc biểu mẫu
Mỗi biểu mẫu (IFormsEntity) mang một id, một identifier (dấu hiệu), một type tùy chọn ('order' | 'sing_in_up' | 'collection' | 'data' | 'rating' | null), localizeInfos (tiêu đề, thông điệp thành công, …) và một mảng attributes của các trường. Mỗi trường có một marker, type, localizeInfos, và một đối tượng validators:
{
"marker": "email",
"type": "string",
"localizeInfos": { "title": "Email" },
"validators": {
"requiredValidator": { "strict": true },
"emailInspectionValidator": true,
"stringInspectionValidator": { "stringMin": 5, "stringMax": 100, "stringLength": 0 }
}
}
Các bộ xác thực phổ biến:
requiredValidator—{ strict: boolean }, trường phải được điềnstringInspectionValidator—{ stringMin, stringMax, stringLength }, ràng buộc độ dài văn bảnemailInspectionValidator—boolean, bắt buộc định dạng emaildefaultValueValidator— giá trị mặc định cộng với văn bản lỗi tùy chọn
Bộ xác thực có thể mở rộng — các loại bộ xác thực bổ sung có thể được trả về bởi API.
Các biểu mẫu được tạo trong bảng điều khiển quản trị
SDK được sử dụng để lấy các biểu mẫu (và, thông qua mô-đun FormsData, gửi dữ liệu) — không phải để tạo hoặc chỉnh sửa các biểu mẫu. Để xây dựng hoặc thay đổi một biểu mẫu, hãy sử dụng bảng điều khiển quản trị OneEntry: mở phần Biểu mẫu, thêm các trường, cấu hình các quy tắc xác thực và kích hoạt biểu mẫu.
📊 Bảng tham khảo nhanh - Phương thức
| Phương thức | Chức năng | Khi nào sử dụng |
|---|---|---|
| getAllForms() | Lấy tất cả các biểu mẫu (phân trang) | Liệt kê tất cả các biểu mẫu có sẵn |
| getFormByMarker() | Lấy biểu mẫu theo dấu hiệu | Lấy biểu mẫu cụ thể trong mã |
Cả hai phương thức đều công khai — không yêu cầu xác thực người dùng.
❓ Câu hỏi thường gặp (FAQ)
Làm thế nào để tôi tạo hoặc chỉnh sửa các biểu mẫu?
Các biểu mẫu được tạo và chỉnh sửa trong bảng điều khiển quản trị OneEntry (phần Biểu mẫu), không qua SDK. SDK chỉ lấy cấu trúc biểu mẫu và gửi dữ liệu.
Tôi có thể tải lên tệp với các biểu mẫu không?
Có. Thêm một trường file / image / groupOfImages vào biểu mẫu của bạn; các phản hồi có tệp được xử lý bởi FormData.postFormsData(), tự động tải chúng qua mô-đun FileUploading. Xem mô-đun FormsData.
Các biểu mẫu có thể có các trường điều kiện (hiện/ẩn dựa trên các trường khác) không?
Không trực tiếp trong SDK — thực hiện logic hiển thị/ẩn trong giao diện người dùng của riêng bạn dựa trên các giá trị trường của biểu mẫu đã lấy.
🎓 Thực hành tốt nhất
- Tham chiếu các biểu mẫu theo
identifier(dấu hiệu) của chúng, không phải theo ID số. - Hiển thị các trường và trạng thái yêu cầu từ
validatorscủa mỗi trường để giao diện người dùng của bạn khớp với xác thực phía máy chủ. - Sử dụng try/catch xung quanh các lần lấy và xử lý hình dạng trả về
IError.
🔗 Tài liệu liên quan
- Mô-đun FormsData - Gửi và quản lý các phản hồi biểu mẫu
- Mô-đun Events - Thiết lập thông báo tự động khi gửi biểu mẫu
- Mô-đun FileUploading - Xử lý tải lên tệp trong các biểu mẫu
- Mô-đun Users - Quản lý người dùng gửi biểu mẫu