Tampaknya minlength
atribut untuk <input>
bidang tidak berfungsi.
Apakah ada atribut lain dalam HTML5 dengan bantuan yang saya dapat mengatur panjang minimal nilai untuk bidang?
html
html5-validation
emilan
sumber
sumber
Jawaban:
Anda bisa menggunakan
pattern
atribut . Iturequired
atribut juga diperlukan, jika tidak sebuah field input dengan nilai kosong akan dikeluarkan dari validasi kendala .Jika Anda ingin membuat opsi untuk menggunakan pola "kosong, atau panjang minimum", Anda bisa melakukan hal berikut:
sumber
oninvalid="this.setCustomValidity('Your message')"
setCustomValidity
, maka itu akan terus menunjukkan kepada Anda pesan kesalahan bahkan setelah Anda mengoreksi input. Anda dapat menggunakanonchange
metode berikut untuk mengatasi ini.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
Ada adalah sebuah
minlength
properti di HTML5 spesifikasi sekarang, sertavalidity.tooShort
antarmuka.Keduanya sekarang diaktifkan di versi terbaru dari semua browser modern. Untuk detailnya, lihat https://caniuse.com/#search=minlength .
sumber
minlength
atribut sejak versi 51 .Berikut ini adalah solusi khusus HTML5 (jika Anda ingin minlength 5, maxlength 10 karakter validation)
http://jsfiddle.net/xhqsB/102/
sumber
title
atribut dengan pesan yang diperlukan.pattern
Jawaban yang sama telah diberikan beberapa bulan sebelumnya . Bagaimana jawaban ini lebih baik?Ya itu dia. Ini seperti maxlength. Dokumentasi W3.org: http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
Jika
minlength
tidak berfungsi, gunakanpattern
atribut seperti yang disebutkan oleh @ Pumbaa80 untukinput
tag.Untuk textarea: Untuk pengaturan maks; gunakan
maxlength
dan untuk min buka tautan ini .Anda akan menemukan di sini untuk maks dan min.
sumber
Saya menggunakan maxlength dan minlength dengan atau tanpa
required
dan itu bekerja dengan baik untuk HTML5.`
sumber
Atribut minLength (tidak seperti maxLength) tidak ada secara native di HTML5. Namun ada beberapa cara untuk memvalidasi bidang jika isinya kurang dari x karakter.
Contoh diberikan menggunakan jQuery di tautan ini: http://docs.jquery.com/Plugins/Validation/Methods/minlength
sumber
Bukan HTML5, tetapi tetap praktis: jika Anda menggunakan AngularJS , Anda dapat menggunakan
ng-minlength
input dan textareas. Lihat juga Plunk ini .sumber
data-ng-minlength
tetapi mengapa pengembang peduli dengan standar? > __>data-ng-minlength
juga .Solusi saya untuk textarea menggunakan jQuery dan menggabungkan HTML5 diperlukan validasi untuk memeriksa panjang minimum.
minlength.js
HTML
sumber
minlength
atribut sekarang banyak didukung di sebagian besar browser .Tapi, seperti fitur HTML5 lainnya, IE11 tidak ada dalam panorama ini. Jadi, jika Anda memiliki basis pengguna IE11 yang luas, pertimbangkan untuk menggunakan
pattern
atribut HTML5 yang didukung hampir di seluruh papan di sebagian besar browser (termasuk IE11).Untuk memiliki implementasi yang bagus dan seragam dan mungkin dapat dikembangkan atau dinamis (berdasarkan kerangka kerja yang menghasilkan HTML Anda), saya akan memilih
pattern
atribut:Masih ada sedikit kegunaan menangkap saat menggunakan
pattern
. Pengguna akan melihat pesan kesalahan / peringatan non-intuitif (sangat umum) saat menggunakanpattern
. Lihat jsfiddle ini atau di bawah ini:Misalnya, di Chrome (tetapi serupa di sebagian besar browser), Anda akan mendapatkan pesan kesalahan berikut:
dengan menggunakan
minlength
dandengan menggunakan
pattern
.sumber
Versi baru:
Itu memperluas penggunaan (textarea dan input) dan memperbaiki bug.
sumber
Saya perhatikan bahwa kadang-kadang di chrome ketika pengisian otomatis aktif dan bidang adalah bidang dengan metode pembuatan browser autofill, ia memotong aturan validasi minlength, jadi dalam hal ini Anda harus menonaktifkan pengisian otomatis dengan atribut berikut:
autocomplete = "off"
sumber
Lihat http://caniuse.com/#search=minlength , beberapa browser mungkin tidak mendukung atribut ini.
Jika nilai "tipe" adalah salah satunya:
teks, email, pencarian, kata sandi, tel, atau url (peringatan: tidak termasuk nomor | tidak ada browser yang mendukung "tel" sekarang - 2017.10)
menggunakan atribut minlength (/ maxlength), itu menentukan jumlah karakter minimum.
misalnya.
atau gunakan atribut "pola":
Jika "type" adalah angka , meskipun panjang minthougth (/ maxlength) tidak didukung, Anda dapat menggunakan min atribut (/ max) sebagai gantinya.
misalnya.
sumber
Saya menulis kode JavaScript ini, [minlength.js]:
sumber
Jika ingin membuat perilaku ini,
selalu tampilkan awalan kecil pada bidang input atau pengguna tidak dapat menghapus awalan :
sumber
Saya menggunakan max dan min kemudian diperlukan dan itu bekerja untuk saya dengan sangat baik, tetapi apa yang saya tidak yakin adalah metode coding. Saya harap ini membantu
sumber
Dalam kasus saya, di mana saya memvalidasi yang paling manual dan menggunakan Firefox (43.0.4),
minlength
danvalidity.tooShort
sayangnya tidak tersedia.Karena saya hanya perlu menyimpan panjang minimum untuk melanjutkan, cara yang mudah dan praktis adalah dengan menetapkan nilai ini ke atribut valid lainnya dari tag input. Dalam hal itu, Anda dapat menggunakan
min
,max
danstep
properti dari [type = "angka"] input.Daripada menyimpan batas-batas itu dalam array, lebih mudah menemukannya disimpan dalam input yang sama daripada mendapatkan id elemen yang cocok dengan indeks array.
sumber
Tambahkan nilai maks dan min. Anda dapat menentukan rentang nilai yang diizinkan:
sumber