AXV

Formalar va validatsiya

form, label, input turlari, validatsiya, xato xabarlari, button va a

10-sinfAdvanced UX/UI5-hafta · 14-dars

Bugun nimalarni o'rganamiz?

Forma tuzilmasi

form, label, input

Input va validatsiya

type va atributlar

Xatolar va tugmalar

UX va semantika

Takrorlash

Boshqa sahifaga o'tkazuvchi element qaysi teg?

a havola: sahifaga o'tish uchun.
01

Forma tuzilmasi

form, label, input

Forma bo'laklari

form fieldset+ legend label + input button Har maydon: label + input juftligi

Label va input


<form action="/qabul" method="post">
  <fieldset>
    <legend>O'quvchi ma'lumotlari</legend>
    <label for="ism">Ism</label>
    <input type="text" id="ism" name="ism">
  </fieldset>
  <button type="submit">Yuborish</button>
</form>
  
for va id bir xil bo'lishi shart. name esa serverga yuboriladigan maydon nomi.

Mini-test

label ning for atributi nimaga teng bo'ladi?

for = id: ular shunday bog'lanadi.
02

Input va validatsiya

type va atributlar

Validatsiya yo'li

Foydalanuvchiyozadi Brauzertekshiradi Xato bo'lsaxabar To'g'ri bo'lsayuboriladi Server tekshiruvi baribir kerak

Validatsiyali maydonlar


<label for="email">Email</label>
<input type="email" id="email" name="email" required autocomplete="email">

<label for="tel">Telefon</label>
<input type="tel" id="tel" name="tel" pattern="\+998[0-9]{9}" required>

<label for="sinf">Sinf</label>
<input type="number" id="sinf" name="sinf" min="1" max="11">
  
pattern="\+998[0-9]{9}" +998 va 9 raqamni talab qiladi. Foydalanuvchiga title yoki matn bilan formatni ko'rsating.

Mini-test

Majburiy maydon uchun qaysi atribut?

required bo'sh qoldirishga yo'l qo'ymaydi.
03

Xatolar va tugmalar

UX va semantika

Yaxshi xato xabari

Maydon yonida Nima xato Qandaytuzatish aria-describedby Xabar tushunarli va bog'langan bo'lsin

Xato xabari


<label for="tel">Telefon</label>
<input type="tel" id="tel" name="tel"
       aria-describedby="tel-xato" required>
<p id="tel-xato">Telefon +998 bilan boshlanib, 9 raqam bo'lsin.</p>

<button type="submit">Yuborish</button>
<a href="/qabul">Qabul qoidalari</a>
  
aria-describedby qiymati xabar elementining id si. button ichidagi type="button" formani yubormaydi.

Mini-test

Xato xabarini maydon bilan nima bog'laydi?

aria-describedby xabarning id siga ishora qiladi.

Yomon va yaxshi forma

Yomon forma

Faqat placeholder, label yo'q, xato: «Noto'g'ri», rang bilan ajratilgan
VS

Yaxshi forma

label, to'g'ri type, required, aniq xato xabari va aria-describedby

Forma tushunarli bo'lsa, ko'proq odam uni to'ldirib bo'ladi.

Atamalar. Bosing

label

bosing

Maydon nomi, for bilan bog'lanadi

fieldset

bosing

Bog'liq maydonlar guruhi

pattern

bosing

Muntazam ifoda bilan tekshiruv

aria-describedby

bosing

Maydonga qo'shimcha izoh bog'laydi

Forma yaratish

1. Maydonlar

Qaysi ma'lumot kerakligini aniqlang.

2. Turlar

Har maydonga to'g'ri type va label yozing.

3. Validatsiya

required, pattern va xato xabarini qo'shing.

Input turlari

TypeNima uchunMisol
textoddiy matnism
emailelektron pochta[email protected]
teltelefon+998901234567
numbersonsinf: 9
datesanatug'ilgan kun

Pastga bosing: tekshirish

Formani tekshirish

  1. Barcha maydonlarni bo'sh qoldirib yuboring.
  2. Noto'g'ri email va telefon kiriting.
  3. Faqat klaviatura (Tab, Enter) bilan to'ldiring.

Placeholder dan label ga


<input type="text" placeholder="Ism">
  

Placeholder dan label ga


<label for="ism">Ism</label>
<input type="text" id="ism" name="ism">
  

Forma raqamlarda

0
ta asosiy validatsiya atributi
0
ta tez-tez ishlatiladigan type
0
ta joyda tekshiruv: brauzer va server

Brauzer tekshiruvi serverni almashtirmaydi.

Amaliy topshiriq 20 daqiqa

OsonLabel bog'lang: <input type="text" id="ism"> ga label qo'shing, matn bosilganda maydon faollashsin.
O'rtaTo'g'ri type: Email, telefon, sinf (1–11) va tug'ilgan sana maydonlarini mos type va atributlar bilan yozing.
QiyinQabul formasi: Maktab qabul formasini yozing: fieldset ichida ism, email, telefon (pattern), sinf, rozilik (checkbox), submit tugmasi, xato xabarlari.
BonusServer tekshiruvi: Nima uchun faqat brauzer validatsiyasi yetarli emas? 2 jumlada yozing.

Dars xulosasi

Forma tuzilmasi

form, label + for/id, fieldset.

Validatsiya

type, required, pattern, min/max.

Xato va tugma

Aniq xabar, aria-describedby, button type.

Uyga vazifa: maktab qabul formasi.

Keyingi dars: SEO va meta teglar

title, description, viewport, Open Graph

5-hafta · 15-dars