NexaForm.js adalah library JavaScript yang kuat untuk menangani pembuatan form, validasi, dan pengiriman. Library ini menyediakan dukungan bawaan untuk berbagai jenis input, upload file, dan validasi secara real-time.
Import NexaForm.js di file JavaScript Anda:
import { createForm } from "./NexaForm.js";
createForm({
formid: "myForm",
submitid: "submit-button",
validasi: {
nama: [3], // minimal 3 karakter
email: [5, 50], // antara 5 dan 50 karakter
},
value: {
nama: "Budi Santoso",
email: "budi@contoh.com"
}
}, (result) => {
console.log(result.response);
});
Opsi | Tipe | Deskripsi |
---|---|---|
formid | String | ID dari elemen form |
submitid | String | ID dari tombol submit |
method | String | Metode pengiriman form (opsional) |
validasi | Object | Aturan validasi untuk field form |
value | Object | Nilai awal untuk field form |
Anda dapat menentukan aturan validasi dalam format berikut:
validasi: {
nama: [3], // Minimal 3 karakter
email: [5, 50], // Antara 5 dan 50 karakter
lampiran: [15], // Maksimal 15MB untuk file
}
<input type="file"
name="lampiran"
data-max-size="15MB"
data-max-files="5"
accept=".pdf,.jpg,.png"
class="form-nexa-file-input">
Mengatur nilai field form secara programatik
createForm({...}).then(form => {
form.setValues({
nama: "Budi Santoso",
email: "budi@contoh.com",
pilihan: ["pilihan1", "pilihan2"]
});
});
createForm({
formid: "formKontak",
submitid: "submit-kontak",
validasi: {
nama: [3],
email: [5, 50],
pesan: [10]
},
value: {
nama: "Budi Santoso",
email: "budi@contoh.com"
}
}, (result) => {
if (result.response.status === "success") {
console.log("Form terkirim:", result.response.data);
}
});
createForm({
formid: "formUpload",
submitid: "submit-upload",
validasi: {
dokumen: [15], // Maksimal 15MB
gambar: [5] // Maksimal 5MB
}
}, (result) => {
if (result.response.status === "success") {
const files = result.response.data;
console.log("File terupload:", files);
}
});