Formlarımda, yeni HTML5 form türlerini kullanmak istiyorum, örneğin <input type="url" />
( buradaki türler hakkında daha fazla bilgi ).
Sorun şu ki, Chrome süper yararlı olmak ve bu öğeleri benim için doğrulamak istiyor, ancak bunun berbat olması dışında. Yerleşik doğrulamada başarısız olursa, odaklanılan öğeden başka bir mesaj veya gösterge yoktur. URL öğelerini tercih ediyorum "http://"
ve bu nedenle kendi özel doğrulamam yalnızca bu değerleri boş dizeler olarak ele alıyor, ancak Chrome bunu reddediyor. Doğrulama kurallarını değiştirebilseydim, bu da işe yarardı.
Sadece kullanmaya geri dönebilirim biliyorum type="text"
ama bu yeni tür teklifleri kullanarak güzel geliştirmeler istiyorum (örneğin: otomatik olarak mobil cihazlarda özel bir klavye düzenine geçer):
Peki, otomatik doğrulamayı kapatmanın veya özelleştirmenin bir yolu var mı?
$('[inputmode]').each(function () { this.attr({type: this.attr('inputmode'), novalidate: true}) });
inputmode
edemeyecektir. İşleri istediğiniz gibi yaptığınızda, kullanıcının türünde bir giriş kutusuna yazdığı sayısal olmayan değerleri hala okuyamazsınız number
. Örneğin, bu klavyedeki metin kutusuna sayısal olmayan bir şey yazmayı ve düğmeyi tıklamayı deneyin .
<input type='number'>
hiç sayısal olmayan değerler kabul etmiyor?
inputmode
özellikten bahsedilir . Gelecekte bir noktada, öznitelik yerine özniteliği kullanmak muhtemelen bu soruna doğru çözüm olacaktır - ancak henüz değil.inputmode
type