Saya mencoba memvalidasi elemen pilih html menggunakan plugin jQuery Validate. Saya menetapkan aturan "wajib" menjadi true tetapi selalu melewati validasi karena indeks nol dipilih secara default. Apakah ada cara untuk mendefinisikan nilai kosong yang digunakan oleh aturan yang disyaratkan?
UPD. Contoh. Bayangkan kita memiliki kontrol html berikut:
<select>
<option value="default">Choose...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
Saya ingin plugin Validasi menggunakan nilai "default" sebagai kosong.
jquery
jquery-validate
SiberianGuy
sumber
sumber
Jawaban:
Anda dapat menulis aturan Anda sendiri!
sumber
$.validator.addMethod("valueNotEquals", function(value, element, arg){ return return arg != jQuery(element).find('option:selected').text(); }, "Value must not equal arg.");
Solusi yang lebih mudah telah diuraikan di sini: Validasi kotak pilih
Jadikan nilainya kosong dan tambahkan atribut yang diperlukan
sumber
cukup atur nilai opsi pertama ke string kosong
value=""
dan aturan validasi jquery
required
will work
sumber
gunakan aturan min
atur nilai opsi pertama ke 0
sumber
Anda hanya perlu memasukkan
validate[required]
sebagai kelas dari pemilihan ini dan kemudian menempatkan opsi dengan nilai = ""sebagai contoh:
sumber
Saya tidak tahu bagaimana plugin saat pertanyaan diajukan (2010), tapi saya menghadapi masalah yang sama hari ini dan menyelesaikannya dengan cara ini:
Berikan atribut nama pada tag pilihan Anda. Misalnya dalam hal ini
<select name="myselect">
Alih-alih bekerja dengan nilai atribut = "default" di opsi tag, nonaktifkan opsi default atau set nilai = "" seperti yang disarankan oleh Andrew Coats
<option disabled="disabled">Choose...</option>
atau
<option value="">Choose...</option>
Tetapkan aturan validasi plugin
$( "#YOUR_FORM_ID" ).validate({ rules: { myselect: { required: true } } });
atau
<select name="myselect" class="required">
Obs: Solusi Andrew Coats hanya berfungsi jika Anda hanya memiliki satu pilihan dalam formulir Anda. Jika Anda ingin solusinya bekerja dengan lebih dari satu pilih tambahkan atribut nama ke pilih Anda.
Semoga ini bisa membantu! :)
sumber
required
atribut ke<select>
tag dan tambahkandisabled
atribut ke<option>
tag pertama (atau yang memilikiselected
atribut jika ada)Berikut adalah contoh sederhana dan dapat dimengerti:
JQuery:
sumber
nilai pilih akan kosong
sumber
Sederhana, Anda harus mendapatkan nilai bidang Pilih dan tidak boleh "default".
sumber
Solusi yang disebutkan oleh @JMP bekerja dalam kasus saya dengan sedikit modifikasi: Saya menggunakan
element.value
bukanvalue
diaddmethod
.Mungkin saja, saya punya kasus khusus di sini, tetapi tidak melacak penyebabnya. Tetapi solusi @ JMP harus bekerja dalam kasus biasa.
sumber
bagaimana memvalidasi pilih "qualifica" itu memiliki 3 pilih
sumber