- Konu sahibi
- #1
İlk paragrafta ana yanıtı, izlenecek yolu ve ulaşılabilecek sonucu doğrudan ver. Konunun önemini öven genel açılış veya bu makalede anlatacağız vaadiyle başlama. Okuru asıl bilgiye ulaşmak için gereksiz paragraflar okumaya zorlama.
Bir form alanının boş bırakılmasını engellemek için ilgili HTML öğesine
Burada hem
Metin, e-posta, parola, tarih ve benzeri girişlerde
Seçim kutusunda kullanıcıdan gerçek bir seçenek seçmesini istiyorsanız, ilk seçeneği boş değerle birlikte kullanabilirsiniz:
Kullanıcı
Radyo düğmelerinde aynı seçenek grubundaki en az bir seçeneği zorunlu yapmak için gruptaki uygun
Aynı
İlk alan boş bırakılamaz ve tarayıcı tarafından e-posta biçimi açısından denetlenir. İkinci alan boş bırakılamaz ve en az sekiz karakter içermelidir. Üçüncü alan ise boş bırakılamaz ve
Zorunlu alan doğrulaması yalnızca tarayıcı tarafındaki ilk kontroldür. Kullanıcı JavaScript'i kapatabilir, farklı bir istemci kullanabilir veya HTTP isteğini doğrudan gönderebilir. Bu nedenle sunucuya gelen verileri ayrıca kontrol etmeli, boş veya geçersiz değerleri kabul etmemelisiniz.
Form gönderildiğinde zorunlu alan uyarısı çıkıyorsa bu, alanın boş bırakıldığı veya tarayıcının değeri geçerli kabul etmediği anlamına gelir. Örneğin
Formda
Bu durumda
Formu uygularken her zorunlu alan için
HTML’de form alanını zorunlu yapmak
Bir form alanının boş bırakılmasını engellemek için ilgili HTML öğesine
required özniteliğini ekleyin. Bu öznitelik input, select ve textarea öğelerinde kullanılabilir. Kullanıcı alanı doldurmadan formu göndermeyi denediğinde tarayıcı gönderimi durdurur ve alanın tamamlanması gerektiğini belirtir.
HTML:
<form action="/kayit" method="post">
<label for="ad">Adınız</label>
<input type="text" id="ad" name="ad" required>
<label for="eposta">E-posta adresiniz</label>
<input type="email" id="eposta" name="eposta" required>
<button type="submit">Gönder</button>
</form>
Burada hem
ad hem de eposta alanı zorunludur. Kullanıcı bu alanlardan birini boş bırakarak Gönder düğmesine bastığında form normal şekilde gönderilmez. Tarayıcı, boş kalan zorunlu alanı işaretleyerek önce bu alanın doldurulmasını ister.Farklı form öğelerinde kullanım
Metin, e-posta, parola, tarih ve benzeri girişlerde
required doğrudan input etiketine eklenir. textarea için de aynı kullanım geçerlidir:
HTML:
<label for="mesaj">Mesajınız</label>
<textarea id="mesaj" name="mesaj" required></textarea>
Seçim kutusunda kullanıcıdan gerçek bir seçenek seçmesini istiyorsanız, ilk seçeneği boş değerle birlikte kullanabilirsiniz:
HTML:
<label for="sehir">Şehir</label>
<select id="sehir" name="sehir" required>
<option value="">Seçiniz</option>
<option value="istanbul">İstanbul</option>
<option value="ankara">Ankara</option>
<option value="izmir">İzmir</option>
</select>
Kullanıcı
Seçiniz seçeneğinde bırakırsa alan geçerli kabul edilmez. Geçerli bir seçeneğin value değeri boş olmamalıdır; aksi durumda tarayıcı, seçimin yapıldığını sanabilir.Radyo düğmelerinde aynı seçenek grubundaki en az bir seçeneği zorunlu yapmak için gruptaki uygun
input öğelerine required eklenebilir:
HTML:
<p>Üyelik türü</p>
<label><input type="radio" name="uyelik" value="bireysel" required> Bireysel</label>
<label><input type="radio" name="uyelik" value="kurumsal"> Kurumsal</label>
Aynı
name değerine sahip bu düğmeler tek grup olarak değerlendirilir. İlk seçenekteki required, kullanıcıdan bu gruptan bir seçim yapılmasını istemek için yeterlidir. Kullanıcının iki seçeneği birden işaretlemesi gereken onay kutusu gruplarında ise her kutuya ayrı required eklemek yerine, her koşulu uygulamanızın gereksinimine göre ayrıca kontrol etmelisiniz.Zorunlu alan ile biçim doğrulamasını ayırın
required yalnızca alanın boş olmamasını sağlar. Alanın belirli bir biçimde olmasını istiyorsanız uygun türü veya ek doğrulama özniteliklerini de kullanmalısınız.
HTML:
<input type="email" name="eposta" required>
<input type="password" name="parola" minlength="8" required>
<input type="text" name="kullanici_adi" pattern="[A-Za-z0-9_]+" required>
İlk alan boş bırakılamaz ve tarayıcı tarafından e-posta biçimi açısından denetlenir. İkinci alan boş bırakılamaz ve en az sekiz karakter içermelidir. Üçüncü alan ise boş bırakılamaz ve
pattern ile belirtilen karakter yapısına uymalıdır.Zorunlu alan doğrulaması yalnızca tarayıcı tarafındaki ilk kontroldür. Kullanıcı JavaScript'i kapatabilir, farklı bir istemci kullanabilir veya HTTP isteğini doğrudan gönderebilir. Bu nedenle sunucuya gelen verileri ayrıca kontrol etmeli, boş veya geçersiz değerleri kabul etmemelisiniz.
required kullanıcıya hızlı geri bildirim verir; sunucu tarafı doğrulamanın yerine geçmez.Sonucu kontrol ederken dikkat edilmesi gerekenler
Form gönderildiğinde zorunlu alan uyarısı çıkıyorsa bu, alanın boş bırakıldığı veya tarayıcının değeri geçerli kabul etmediği anlamına gelir. Örneğin
type="email" kullanılan bir alana yalnızca metin yazılması, alan boş olmasa bile biçim doğrulamasını geçemeyebilir. Kullanıcıdan geçerli biçimde veri girmesini istemeli ve sunucuda da aynı değeri yeniden doğrulamalısınız.disabled özniteliği verilmiş bir alan form gönderimine dahil edilmez ve zorunlu alan olarak çalışmaz. Alanın kullanıcı tarafından değiştirilmesini istemiyor ancak değerinin gönderilmesini istiyorsanız readonly kullanılabilir; ancak readonly her alan türünde desteklenmez ve sunucunun gelen değere güveneceği anlamına gelmez.Formda
novalidate kullanılırsa tarayıcının yerleşik doğrulaması devre dışı bırakılır:
HTML:
<form action="/kayit" method="post" novalidate>
Bu durumda
required özniteliği HTML içinde bulunmaya devam eder, fakat tarayıcı formu gönderirken yerleşik zorunlu alan kontrolünü uygulamaz. Böyle bir kullanım ancak doğrulamayı JavaScript veya sunucu tarafında kendiniz yapıyorsanız anlamlıdır. Normal bir formda novalidate eklemeyin; aksi hâlde kullanıcı boş alan uyarısını tarayıcıdan alamaz.Formu uygularken her zorunlu alan için
required ekleyin, boş başlangıç seçeneğinin value değerini boş bırakın ve formu göndererek tarayıcının alanı işaretleyip işaretlemediğini kontrol edin. Ardından sunucuda gelen değerleri yeniden doğrulayın; tarayıcıda görülen başarılı sonuç, verinin güvenilir veya iş kurallarınıza uygun olduğunu tek başına kanıtlamaz.