Saya punya formulir yang secara opsional dapat diisi sebelumnya melalui koneksi facebook. Setelah pengguna terhubung, nama dan email mereka otomatis terisi. Masalahnya adalah ini tidak memicu validasi jarak jauh untuk memeriksa apakah email sudah ada.
Apakah ada cara saya dapat memanggil validasi di bidang itu saja? Sesuatu seperti:
$('#email-field-only').validate()
akan menjadi ide. Mencari melalui dokumen tidak berhasil.
$('input[name=email-field-only]').valid();
juga berfungsiPenggunaan
Validator.element()
:Berikut adalah contoh yang ditampilkan di API:
var validator = $( "#myform" ).validate(); validator.element( "#myselect" );
.valid()
memvalidasi seluruh formulir, seperti yang ditunjukkan orang lain. API mengatakan:sumber
Untuk beberapa alasan, beberapa metode lain tidak berfungsi hingga bidang difokuskan / diburamkan / diubah, atau pengiriman telah dicoba ... ini berfungsi untuk saya.
$("#formid").data('validator').element('#element').valid();
Harus menggali skrip jquery.validate untuk menemukannya ...
sumber
.valid()
di bagian akhir sehingga mencari saya,$("#Form").data('validator').element('input[name=__Suburb]').valid();
saya percaya bahwa jika Anda tidak memilihnya dengan ID, ini mungkin diperlukan..valid()
di akhir ekspresi. The.element()
fungsi mengembalikan hasil boolean ( docs | src ). Ketika saya mencoba memanggil .valid () saya mendapatkan pesan kesalahan: "Uncaught TypeError:$(...).data(...).element(...).valid
is not a function"$("#FormId").validate().element('#FieldId');
sumber
Saat Anda menyiapkan validasi, Anda harus menyimpan objek validator. Anda dapat menggunakan ini untuk memvalidasi bidang individu.
<script type="text/javascript"> var _validator; $(function () { _validator = $("#form").validate(); }); function doSomething() { _validator.element($('#someElement')); } </script>
- posting silang dengan pertanyaan serupa ini
sumber
Jika Anda ingin memvalidasi bidang formulir individual, tetapi tidak ingin UI dipicu dan menampilkan kesalahan validasi apa pun, Anda dapat mempertimbangkan untuk menggunakan metode Validator.check () yang mengembalikan jika bidang yang diberikan lolos validasi atau tidak.
Berikut ini contohnya
var validator = $("#form").data('validator'); if(validator.check('#element')){ /*field is valid*/ }else{ /*field is not valid (but no errors will be displayed)*/ }
sumber
jika Anda ingin melakukan validasi untuk "beberapa elemen" (tidak semua elemen) pada formulir Anda. Anda dapat menggunakan metode ini:
$('input[name="element-one"], input[name="element-two"], input[name="element-three"]').valid();
Semoga membantu semua orang :)
DIEDIT
sumber
$("#element").validate().valid()
sumber