Validasi grup kotak centang sisi klien Joomla 3

Saya mencoba menggunakan validator formulir bawaan Joomla (versi 3.4.3): JHTML::_('behavior.formvalidator');

Saya mencoba menerapkannya untuk formulir yang dihasilkan secara dinamis. Ini berfungsi dengan baik untuk menu dropdown dan bidang teks. Tetapi ketika (katakanlah) saya memiliki grup yang terdiri dari 4 kotak centang dan saya ingin pengguna memilih setidaknya 1 dari 4 kotak centang, maka saya mengalami masalah... Situs meminta pengguna untuk memilih SEMUA 4 kotak centang. Berikut adalah kode HTML yang dihasilkan:

<label title="Checked out?" class="hasTooltip required" for="jform_checked-out_cbv_qwq4-473" id="checked-out_cbv_qwq4-473-lbl">Checked out? <span class="star">*</span></label>
<input type="checkbox" name="checked-out_cbv_qwq4-473[]" id="checked-out_cbv_qwq4-473" value="Yes" class="required" aria-required="true" required="required"> Yes
<input type="checkbox" name="checked-out_cbv_qwq4-473[]" id="checked-out_cbv_qwq4-473" value="No" class="required" aria-required="true" required="required"> No
<input type="checkbox" name="checked-out_cbv_qwq4-473[]" id="checked-out_cbv_qwq4-473" value="maybe" class="required" aria-required="true" required="required"> maybe
<input type="checkbox" name="checked-out_cbv_qwq4-473[]" id="checked-out_cbv_qwq4-473" value="of course not" class="required" aria-required="true" required="required"> of course not

Saat saya mencoba mengirimkan formulir, saya mendapatkan pesan kesalahan berikut:

Bidang tidak valid: Sudah check out?
Bidang tidak valid: Sudah check out?
Bidang tidak valid: Sudah check out?
Bidang tidak valid: Sudah check out?

Apa yang saya lakukan salah di sini?


person gtsongi    schedule 03.08.2015    source sumber


Jawaban (1)


Setiap elemen masukan Anda memiliki id yang sama, yaitu "check-out_cbv_qwq4-473". Atribut id harus unik.

Contoh kode fieldset dengan kotak centang:

<div class="control-group">
<div class="control-label">
    <label id="mycheckboxes-lbl" for="mycheckboxes" class="required">Checked out?<span class="star">&nbsp;*</span></label>
</div>
<div class="controls">
    <fieldset id="mycheckboxes" class="checkboxes required" required="required" aria-required="true">
        <ul>
            <li>
                <input type="checkbox" id="checkbox_1" name="myform_checkboxes[]" value="Yes">
                <label for="checkbox_1">Yes</label>
            </li>
            <li>
                <input type="checkbox" id="checkbox_2" name="myform_checkboxes[]" value="No">
                <label for="checkbox_2">No</label>
            </li>
            ...
        </ul>
    </fieldset>
</div>

person arbogastes    schedule 04.08.2015
comment
Ya, saya memikirkan hal itu, tetapi jika saya menetapkan ID unik untuk setiap kotak centang, lalu apa yang harus menjadi ID untuk label tersebut? Saya pikir keduanya harus serupa untuk menampilkan bidang Tidak Valid: Sudah Check out? pesan eror. Atau apakah saya salah? - person gtsongi; 04.08.2015
comment
Memeriksa? label harus milik fieldset, fieldset itu harus memiliki kotak centang Anda, setiap kotak centang harus memiliki labelnya sendiri. Fieldset harus diperlukan tidak setiap kotak centang. - person arbogastes; 04.08.2015