Saya ingin memicu validasi secara manual termasuk menampilkan pesan kesalahan dengan jQuery Validate .
Skenario yang saya coba selesaikan adalah bentuk seperti ini:
<form>
<input id=i1> <button id=b1>
<input id=i2> <button id=b2>
</form>
Saat mengklik b1
, hanya i1
harus divalidasi. hen mengklik b2
, hanya i2
harus divalidasi. Namun semua bidang harus diposting. Bagaimana saya bisa melakukan ini? Saya berpikir untuk menangani acara klik b1/b2
dan memvalidasi bagian formulir secara manual.
Jawaban:
Perpustakaan itu tampaknya memungkinkan validasi untuk elemen tunggal. Kaitkan saja acara klik ke tombol Anda dan coba yang berikut ini:
Contoh di sini:
https://jqueryvalidation.org/Validator.element
sumber
Atau seseorang dapat dengan mudah menggunakan:
$('#myElem').valid()
Catatan yang
validate()
perlu dipanggil pada formulir sebelum memeriksanya menggunakan metode ini.Tautan dokumentasi: https://jqueryvalidation.org/valid/
sumber
validate()
perlu dipanggil pada formulir sebelum memeriksanya menggunakan metode ini.Pendekatan saya adalah seperti di bawah ini. Sekarang saya hanya ingin formulir saya divalidasi ketika satu kotak centang diklik / diubah:
sumber
Seperti yang tertulis dalam dokumentasi , cara untuk memicu validasi formulir secara terprogram adalah dengan memanggil validator.form ()
sumber
Ada metode tidak berdokumen pada versi 1.14
Metode ini diam-diam memvalidasi untuk mengembalikan benar / salah. Itu tidak memicu pesan kesalahan.
sumber
Eva M dari atas, hampir memiliki jawaban seperti yang diposting di atas (Terima kasih Eva M!):
Ini hampir merupakan jawaban, tetapi ini menyebabkan masalah, bahkan pada plugin validasi jquery yang paling mutakhir pada 13 Desember 2018. Masalahnya adalah jika seseorang secara langsung menyalin sampel itu, dan PERNAH memanggil panggilan ".validate ()" lebih dari satu kali , pemrosesan fokus / kunci validasi dapat rusak, dan validasi mungkin tidak menunjukkan kesalahan dengan benar.
Berikut adalah cara menggunakan jawaban Eva M, dan memastikan bahwa masalah fokus / kunci / penyembunyian kesalahan tidak terjadi:
1) Simpan validator Anda ke variabel / global.
2) JANGAN panggil $ ("# formulir"). Validasikan () PERNAH lagi.
Jika Anda memanggil $ ("# myform"). Validate () lebih dari sekali, ini dapat menyebabkan masalah fokus / kunci / kesalahan-penyembunyian.
3) Gunakan variabel / global dan formulir panggilan.
sumber
Dalam kasus serupa saya, saya memiliki logika validasi saya sendiri dan hanya ingin menggunakan validasi jQuery untuk menampilkan pesan. Inilah yang saya lakukan.
sumber
saya mencobanya berhasil tnx @Anastasiosyal saya ingin membagikannya di utas ini.
Saya tidak yakin bagaimana bidang input tidak terpicu ketika saya mengosongkan bidang. Tapi saya berhasil memicu setiap bidang yang diperlukan secara individual menggunakan:
inilah pandangan saya
dan Entitas saya
sumber
Ada cara yang baik jika Anda menggunakan
validate()
dengan parameter pada formulir dan ingin memvalidasi satu bidang formulir Anda secara manual sesudahnya:Dokumentasi: Validator.element ()
sumber