Forma validatsiyasi

Mirzo Ulug'bek nomidagi O'zbekiston Milliy
universiteti Amaliy matematika va intellektual
texnologiyalar 
fakulteti 
“Kompeyutir ilmlari va dasturlash texnologiyalari yo‘nalishi 
(masofaviy)” 
kafedrasi 
“Web dasturlash ” fanidan 
Kurs ishi 
Mavzu: Forma validatsiyasi 
Toshkent - 2026 yil  1  MUNDARIJA 
KIRISH……………………………………………………………………………3 
I BOB. FORMA VALIDATSIYASINING NAZARIY ASOSLARI 
1.1.  Forma validatsiyasi tushunchasi va uning web ilovalardagi 
ahamiyati………6  1.2.  Ma’lumotlarni tekshirish turlari va validatsiya 
tamoyillari…………..12  1.3.  Klient tomon va server tomon 
validatsiyasining farqlari……………………18  II BOB. FORMA 
VALIDATSIYASINI AMALIY JORIY ETISH USULLARI 2.1.  HTML5 
yordamida forma validatsiyasini amalga oshirish………………..26  2.2.  
JavaScript orqali dinamik forma validatsiyasi………………………………..32 
XULOSA…………………………………………………………………………36 
FOYDALANILGAN ADABIYOTLAR……………………….……………….40 
2  KIRISH 
Kurs   ishining   dolzarbligi:   Zamonaviy   axborot   texnologiyalari   rivoji
bilan   bir   qatorda   veb   ilovalar   va   axborot   tizimlarining   kundalik
hayotimizdagi   o‘rni   tobora   ortib   bormoqda.   Bugungi   kunda   deyarli
barcha   sohalarda   foydalanuvchi   bilan   tizim   o‘rtasidagi   asosiy   muloqot
shakli   veb   interfeyslar   orqali   amalga   oshiriladi.   Ushbu   interfeyslarning
eng   muhim   tarkibiy   qismlaridan   biri   forma   hisoblanadi.   Forma
foydalanuvchi   tomonidan   ma’lumotlarni   kiritish,   uzatish   va   qayta
ishlash   jarayonini   ta’minlaydi.   Shu   sababli   forma   bilan   bog‘liq
jarayonlarning   to‘g‘ri   va   ishonchli   ishlashi   butun   tizimning
samaradorligiga bevosita ta’sir ko‘rsatadi. 
Forma orqali kiritiladigan ma’lumotlar sifatli, to‘liq va to‘g‘ri bo‘lishi
axborot   tizimlarining   asosiy   talablaridan   biridir.   Agar   foydalanuvchi
noto‘g‘ri,   to‘liq   bo‘lmagan   yoki   zararli   ma’lumot   kiritsa,   bu   tizim   ishida
xatoliklarga,   ma’lumotlar   bazasining   buzilishiga   yoki   xavfsizlik
muammolariga   olib   kelishi   mumkin.   Shu   nuqtayi   nazardan   forma
validatsiyasi tushunchasi veb dasturlash va axborot xavfsizligi sohasida
muhim   ahamiyat   kasb   etadi.   Forma   validatsiyasi   foydalanuvchi
tomonidan kiritilgan ma’lumotlarni tekshirish, baholash va belgilangan
talablar asosida qabul qilish jarayonini anglatadi. 
Kurs   ishining     maqsadi   foydalanuvchi   kiritayotgan   ma’lumotlarning
tizim  talablariga   mosligini  ta’minlashdan  iborat.  Bu  jarayon   yordamida
bo‘sh   maydonlar,   noto‘g‘ri   formatdagi   qiymatlar,   ortiqcha   belgilar   yoki
ruxsat   etilmagan   ma’lumotlar   aniqlanadi   va   foydalanuvchiga   mos
ravishda   xabar   beriladi.   Natijada   foydalanuvchi   xatolarini   darhol
tuzatish   imkoniga   ega   bo‘ladi,   tizim   esa   noto‘g‘ri   ma’lumotlardan
himoyalanadi.   Bu   esa   foydalanuvchi   tajribasini   yaxshilash   bilan   birga,
dastur barqarorligini ham oshiradi. 
Kurs ishining vazifalari 
Mazkur kurs ishining asosiy vazifalari forma validatsiyasi 
tushunchasining mazmun-mohiyatini ilmiy asosda ochib berishdan  iborat. Shuningdek, veb ilovalarda forma validatsiyasining tutgan o‘rni 
va ahamiyatini yoritish, foydalanuvchi tomonidan kiritiladigan 
ma’lumotlarni tekshirish usullarini tahlil 
3  qilish,   klient   tomon   va   server   tomon   validatsiyasi   o‘rtasidagi   farqlarni
aniqlash hamda ularning afzallik va kamchiliklarini asoslash vazifa qilib
qo‘yilgan.   Bundan   tashqari,   forma   validatsiyasida   uchraydigan   asosiy
xatoliklarni   ko‘rsatib  berish,   xavfsizlik   bilan   bog‘liq   muammolarni  tahlil
qilish va ularni bartaraf etish yo‘llarini yoritish ham kurs ishining muhim
vazifalaridan   hisoblanadi.   Amaliy   jihatdan   esa   forma   validatsiyasini
zamonaviy   veb   texnologiyalar   yordamida   tashkil   etish   usullarini
o‘rganish   va   ularni   real   tizimlarda   qo‘llash   imkoniyatlarini   ko‘rsatish
vazifasi belgilangan. 
Kurs ishining obekti 
Mazkur kurs ishining obekti zamonaviy veb ilovalar va axborot 
tizimlarida foydalanuvchi bilan tizim o‘rtasidagi o‘zaro aloqani 
ta’minlovchi forma orqali ma’lumot kiritish jarayonidir. Ushbu jarayon 
doirasida foydalanuvchi tomonidan kiritiladigan ma’lumotlar, ularning 
tizimga uzatilishi va qayta ishlanishi asosiy tadqiqot maydoni sifatida 
qaraladi. 
Kurs ishining predmeti 
Mazkur kurs ishining predmeti veb ilovalarda forma validatsiyasini 
amalga oshirish usullari, mexanizmlari va texnologiyalaridir. Xususan, 
foydalanuvchi va server tomonida bajariladigan validatsiya jarayonlari, 
ma’lumotlarni tekshirish algoritmlari, xavfsizlikni ta’minlashga 
qaratilgan yondashuvlar hamda forma validatsiyasini samarali tashkil 
etishning nazariy va amaliy jihatlari tadqiqot predmeti hisoblanadi.  4  I BOB. FORMA VALIDATSIYASINING NAZARIY ASOSLARI 1.1. 
Forma validatsiyasi tushunchasi va uning web ilovalardagi ahamiyati 
Forma yaratish uchun Platon platformasi navigatsiya panelining 
Formalar bo'limiga o'tiladi. Ushbu ochilgan sahifada Platon 
platformasida ilgari ochilgan 
formalar ro'yxati aks etadi. Ushbu sahifa pastgi qismid
a
joylashgan  Qo'shish  tugmasi bosiladi va quyidagi oyna ("forma") 
ochiladi:
Forma yaratish oynasi tarkibi 
Oyna quyidagi yacheykalardan 
iborat: 
• name : formaning nomi (shuningdek, forma URLda ham shu 
nom bilan joylashadi); 
• source_table_name : ma'lumotlar bazasi (Database)dagi 
faylning nomi bo'lib, formaga kiritilgan ma'lumotlar ushbu jadvalda 
saqlanadi; 
• data_source : Bu selectdan platon yoki project ma'lumotlar 
bazasiga (Database)ga saqlashni nazorat qilishi mumkin;  • sequence_name : formaning ma'lumotlar bazasi 
(Database)dagi sequenceni yozish uchun foydalaniladi; 
5  •
data_filt
er : formadagi ma'lumotl
arga filter qo'yish uchun
foydalaniladi; 
• unique_fields : ushbu funksional ma'lumotlar bazasidagi 
belgilangan so'z  yoki raqamni unikallashtirish funksiyasini bajarib, 
belgilangan so'z yoki raqamga aynan o'xshash boshqa so'z yoki 
raqamni qayta kiritishning oldini oladi;  • focused_field_name : 
forma sahifasidagi diqqat qaratilishi lozim bo'lgan ma'lumotni belgilash
uchun foydalaniladi; 
• grid_offset : formaning ikki tomonidan joy tashlab berish 
uchun xizmat qiladi; 
• next_link : forma to'ldirilib, saqlash tugmasi bosilganidan 
so'ng ochilishi lozim bo'lgan sahifa manzilini yozish uchun foydalaniladi.
Saqlashdan so'ng modal yoki blank oyna yopilishi uchun  back  nomli 
maxsus url dan foydalaniladi; 
• archive_fields :formading edit Modi ochilganda kelmasligi 
kerak bo'lgan qiymatlar. 
• add_title : ushbu  forma web-sahifasi manzili (https) qismining 
sarlavhasini yozish uchun foydalaniladi; 
•
•
• edit_title : tahrirlash sarlavhasini 
nomlash uchun ishlatiladi; 
add_header : ushbu forma 
sarlavhasini yozish uchun 
Yacheykalarga kiritilgan yozuvlar (kodlar) ning ko'rinishi: 
• name. 
// misol uchun
test_post
•
source_table_name.
// misol uchun
temp_guids
•
sequence_name.
// misol uchun
6  seq_nimadur
•
data_filter.
// misol uchun
type_id = #type_id
•
unique_fields.
// misol uchun
username
•
focused_field_name.
// misol uchun
reject_type_id
•
grid_offset.
// misol uchun
2
•
next_link.
// misol uchun
back  •
archive_fields.
// misol uchun
Realsoft
Tillarni ozgartirish  quyidagi yacheykalardan iborat: 
•
add_title 1-uz,2-ru,3-la va 4-en.
// misol uchun
қўшиш
добавить
qo’shish
add 
•
edit_title 1-uz,2-ru,3-la va 4-en.
// misol uchun
тахрирлаш
7  изменить
tahrirlash
edit 
•
add_header 1-uz,2-ru,3-la va 4-en.
// misol uchun
фойдаланувчи кўшиш
добавить пользователя
foydalanuvchi qo’shish
add user
•
edit_header 1-uz,2-ru,3-la va 4-en.
// misol uchun
фойдаланувчи малумотини тахрирлаш
изменить информацию о пользователи
foydalanuvchi malumotlarini qo’shish
edit user
Sql formalari
•
defaults_sql.
// misol uchun
select int01  as  region_id, int02  as  district_id, int03  as  sector_id, id  as
mahalla_id,  2022 as  ayear
from  lists
where id = #mahalla_id
•
params_sql.
// misol uchun
select l.total_sum, extract(month  from  now())  as  month, m.name1  as  
mahalla
from  credit_limits l
left join lists m on m.type_id = 4  and m.state = 1  and m.id = l.mahalla_id
where l.id = #id
•
before_add_sql.
8  // misol uchun
Realsoft
•
after_add_sql.
// misol uchun
@username,call send_user_password_s
ms(@mobile_phone :: big
@raw.password);
insert into auth_users_groups (id, created_at, state, version, user_id,
group_id) values (nextval( 'seq_user_group' ), now(),  1 ,  1 , @id, ( case  when
#org_type = 200  then  13  when #org_type = 301  then  94 else 15  end))
•
before_edit_sql.
// misol uchun
Realsoft
•
after_edit_sql.
// misol uchun
@username,call send_user_password_s
ms(@mobile_phone :: big
@raw.password);
•
before_delete_sql.
// misol uchun
update auth_users  set  username = concat( 'user' , @id) where id = @id
•
after_delete_sql.
// misol uchun
Realsoft
•
before_restore_sql.
// misol uchun
Realsoft
•
after_restore_sql.
// misol uchun
Realsoft
JS / CSS
9  •
js.
// misol uchun
 
$form.formElements =
$form.params.total_sum
}); 
•
css.
// misol uchun
.platon - form[form - name ="mahalla" ] .card {
 border :  none;
}
.platon - form[form - name ="mahalla" ] .card - body {
 padding : 0 ;
} 
•
visibility.
// misol uchun
$user.has_perm( 'platon.admin' )
•
can_create_condition.
// misol uchun
$user.has_perm( 'platon.admin' )  ||  ($user.level  == 1 &&  
$user.bank_group_id
== 1 )
•
can_edit_condition.
•
can_delete_condition.
// misol uchun 
$user.has_perm( 'platon.admin' )  ||  ($user.level  == 1 &&  
$user.bank_group_id  == 1 ) // misol uchun
$user.has_perm( 'platon.admin' )
Forma sahifasi tarkibi 
10  Forma yaratib olingani
dan so'ng quyidagi oyna paydo bo'ladi:
Ushbu oynada quyidagi tugmalar mavjud: 
Foydalanuvchilar uchun 
•  Saqlash Ushbu tugmani bosish orqali formaga kirilgan 
ma'lumotlar saqlanadi. 
•  Chiqish Ushbu tugmani bosish orqali forma shaklidan chiqib
ketiladi. 
Dasturchilar uchun 
•  Oynani sozlash Ushbu tugmadan formaga o'zgartirishlar 
kiritish uchun foydalaniladi. 
•  Yangi  element qo'shish Ushbu tugmadan formaga yangi 
elementlar (foydalanuvchi tomonidan ma'lumotlar kiritishga 
mo'ljallangan yacheykalar) qo'shish uchun foydalaniladi 
•  Elementlar ro'yxati Ushbu tugmani bosish orqali forma 
sahifasidagi barcha elementlar ro'yxatini ko'rish mimkin. 
Yangi element qo'shish 
Ushbu tugmadan formaga yangi elementlar (foydalanuvchi 
tomonidan ma'lumotlar kiritishga mo'ljallangan yacheykalar) qo'shish 
uchun foydalaniladi. 
Ushbu tugma bosilganida quyidagi oyna ochiladi: 11  Oyna quyidagi yacheykalardan iborat: 
• form : formaning nomi (shuningdek, forma URLda ham shu 
nom bilan 
joylashadi); 
• type : element funksiyasi yoki turi bo'lib quyidagilardan 
iborat: 
• a)  fieldset  -  elementlarni  joylashtirish  uchun 
yangi  maydon 
shakllantirib beradi; 
• b)  text  - tekst kiritish uchun input yaratadi; 
• c)  raw_json  - faqat json turidagi ma'lumotlarni qabul qilish 
uchun 
ishlatiladi; 
•
•
•
•
•
• d)  number  - son (natural son) 
kiritish uchun input yaratadi; 
e)  file  - fayllar qabul qilish uchun 
input yaratadi; 
f)  image  - rasmlar qabul qilish 
uchun input yaratadi; 
g)  button  - turli xil so'rovlarni 
beruvchi input yaratadi; 
• j)  time  - vaqtni qabul qilish uchun input yaratadi;  12  • k)  multiselect  - bir nechta ma'lumotlarni tanlash imkoniyatini 
beruvchi input yaratadi; 
• l)  checkbox  - boolean turidagi ma'lumot qaytaradigan 
element yaratadi;  • m)  textarea  -  katta hajmdagi 
tekstlarni  kiritish  uchun  input 
yaratadi(description uchun); 
• o)  phone  - telefon raqami formatidagi ma'lumotni kiritish 
uchun ishlatiladigan input; 
• p)  code  - turli xil dasturlash tilidagi kodni saqlash 
imkoniyatini beradi ( js, html, css, sql ) 
• r)  html  - bu orqali hohlagan API ga so'rov yuborish va 
hohlagan ko'rinishdagi dizayn yaratish mumkin; 
•
s)  geo  - ushbu element turi bo'yicha geopozitsiyani kiritish 
imkoniyati
mavjud ( map_cent
er, map_zoo
m ). Bunda qaysi karta orqali
tanlashni  active_map  maydonida ko'rsatib ketiladi; 
•
t)  geo polygon
- ushbu element
da turi
bo'yicha bir nechta
geopozitsiyani kiritish imkoniyati mavjud ( map_center, map_zoom, is ). 
Bunda qaysi karta orqali tanlashni  active_map  maydonida ko'rsatib 
ketiladi. Bundan 
tashqari bir nechta geopozitsiyala
rni kiritish
uchun  is_multiple  tugmasi  active  holatga keltiriladi; 
• u)  simple key-value  - unikal qiymatlarni shakllantirish uchun 
qo'llaniladi; 
• v)  tab  - turli xil ma'lumotlarni sahifaviy joylashtirish uchun 
ishlatiladi;  • w)  tab container  - sahifaviy joylashtirilgan ma'lumotlarni 
ma'lum bir ko'rinishda jamlash; 
•
x)  markdown editor , 
monaco_editor , 
kontentlarni tahrirlash; 
• data_field : ustunning ichki nomi. SQL so'rovlarida ushbu ichki
kod nomi yoziladi; 
• parent : boshqa elementlarni o'z ichiga oluvchi bosh element;  13  • sort_order : elementning forma sahifasidagi joylashgan o'rni 
(kichik 
raqamli elementlar sahifaning oldingi qismida, katta raqamli elementlar
sahifaning 
keyingi qismida joylashadi); 
•
default_value : forma shakllantirish 
jarayonida ushbu element uchun
default qiymat berish u/n ishlatiladi. Bu yerda shartga ko'ra qiymat 
olish mumkin va 
h.k; 
•
•
• width : ushbu yacheykaga ustun kengligi yoziladi; 
sql : ushbu yacheyka SQL so'rovlari yozish uchun 
mo'ljallangan;
validation
_sql : inputdagi ma'lumotlar
ni validatsiya qilish.
Yani bu yerda shart yoziladi va agar shu shartga to'g'ri kelmasa post 
bo'lmaydi 
masalan: 
SELECT
 not EXISTS (SELECT 1 FROM table_name WHERE name = @name)
Bu yerda agar kiritilayotgan name aval kiritlgan bo'lsa xatolik 
qaytaradi! 
•
is_attribute : ushbu svitchdan 
ma'lumotlar bazasi 'attributes' 
ma'lumotlar kiritish uchun foydalaniladi; 
•
is_required  svitchi: ushbu svitch 
element yacheykasiga ma'lumotni
kirgizmasdan turib saqlash imkonini bermaslik uchun foydalaniladi 
(yani ushbu 
svitch yoqilsa foydalanuvchi element yacheykasiga ma'lumot kirgizish 
shart 
hisoblanadi); 
•
is_read_only  svitchi: ushbu svitch 
yoqilsa foydalanuvchi 
ma'lumotlarni faqat o'qish imkoniga ega bo'ladi; 
•
is_disabled : svitchi: inputga 
kiritilgan ma'lumotni bazaga 
imkoniyatini beradi; 
•
• label : element yacheykasining 
sarlavhasini yozish uchun 
foydalaniladi;  hint : elementga 
yozish uchun foydalaniladi;  14  •
placehol
der : element yacheykas
iga yozuv kiritilish uchun
foydalaniladi (foydalanuvchi tomonidan yacheykaga ma'lumot 
kiritilganida ushbu 
yozuv o'chib ketadi); 
•
visibility : ushbu yacheykaga 
yaratilayotgan jadvalni ko'rish 
ega bo'lgan foydalanuvchilar kiritiladi; 
• boshqa render_condition : Forma elementlarining kiritilganligiga 
qarab
elementla
rni ko'rinishi yoki ko'rinmasl
igini hal qiladi.
Agar  render_condition  maydoniga qiymat yozilsa, ma'lumotlar bazasida 
kiritilgan 
ma'lumotni saqlaydi. Aks holda ma'lumotlar bazasida  null  qiymatni 
saqlaydi; 
•
• style : css kod yozish uchun 
mo'ljallangan 
class : element xususiyatlarini 
yozish uchun foydalaniladi; 
Formada Javascript metodlarini ishlatilishi hamda Platon metodlari. 
Platon formalarning JS qismiga JavaScript ES6 kodlari yoziladi vue 
emas
•
beforeSave
Ushbu funktsiya formadagi malumotlar saqlanishidan oldin 
ishladi. Odatda 
saqlashdan oldin inputlardagi ma'lumotlarni tekshirish , validatsiya 
qilish va boshqa 
turlixil maqsadlarda ishlatiladi. Masalan: 
// Ishlatilishi.
this .beforeSave = () => {
// javascript codlar
// ushbu funkisya ichidagam fetch apilarni o'zimiz hohlaganimizdak
ishlatishimiz mumkin. Masalan:
// this.$api.get('api-url').then(res=>{})
return true
}
Agar beforeSave da retrun false qaytsa formadagi ma'lumotlar 
saqlanmaydi.
•
afterSave 15  Ushbu funktisya yuqoridagi  beforeSave  singari ishlaydi faqat 
formadagi 
ma'lumotlar saqlanganidan so'ng ishlaydi. 
// Ishlatilishi
this .afterSave = (id) => {
// bu yerda ham biz JavaScript kodlarimizni yozishimiz mumkin .
// id bu forma saqlangandagi malumotlar bazasiga tushgana 
qaytgan id
} 
•
setVal
Ushbu metod platon formadagi inputlarga default ma'lumot yoki 
boshqa 
holatlarda ma'lumotlar yozish uchun ishlatiladi. Masalan: 
$setVal( 'Data_field'  ,  'value' )
// Data_field qaysi inputga ma'lumot yozishi kerakligi
// value  yozilishi kerak bo'lgan 
ma'lumot
(taxrirlanayot
gan) yoki yangi•
editId
Ushbu metod form
aning edit
saqlanayotganligini tekshirishimiz uchun ishlatil
adi. Ishlatilishi 
this.editId .
Masalan: 
if ( this .editId  != null ){
// Ushbu holatda ushbu forma edit yoki edit emasligini 
tekshirilmoqda
}
so'ng Platon formalarning edit (taxrirlash) oynasini ochish uchun
linkda formadan
id berish orqali ochishimi
z mumkin. Masala
n
forms/add_car/id  id yani formaning ID raqami.
•
Toast 16  Toastlar bu platonning custom Toastlari(ogoxlaruvlari)dir. Platonda ikki
xil 
toast mavjud boo'lib (shaxsiy toastlarin
iham yasash mumkin!) `
this.errorToast('Ogoxlantiruv habari') ` Error yani qizil rangadi ogoxlantiruv. `
this.greenToast('Ogoxlantiruv habari') ` Green yani yashil rangadi 
ogoxlantiruv. 
•
$w
$w orqali Platon formadagi inputlarning o'zgarishini ushlab olishimiz 
mumkin. Masalan
username Data_field o'zgarganida qandaydir
funktsiyani avtomatik ishlatmoqchi bo'lsak. 
const  testFunc  =  ()  =>  {
// odatiy JavaScript funktsiyasi
}
$w( 'username' , testFunc);
•
Parametr dagi qiymatlar
Platon formalar ochilayotganda linkga qo'shimcha qiymatlarham 
berishimiz 
mumkin. 
Masalan qayerdandur forma uchun link bor va u linkga userning user_id 
parametrini 
berishimiz kerak bo'lsa: 
forma linkiga  'forms/my-user?user_id=22'
// user_id ni formaning SQL qismida ushlamoqchi bo'lsa #user_id orqali
murojat qilamiz.
// user_id ni formaning Javascript qismida ushlamoqchi bo'lsa 
this.q('user_id') orqali murojat qilamiz.
17  1.2. Ma’lumotlarni tekshirish turlari va validatsiya tamoyillari 
Zamonaviy axborot texnologiyalari rivojlanishi jarayonida web 
ilovalar va internetga asoslangan axborot tizimlari inson hayotining 
ajralmas qismiga aylanib bormoqda. Bugungi kunda deyarli barcha 
sohalarda — ta’lim, bank-moliya, sog‘liqni saqlash, elektron savdo, 
davlat xizmatlari va ijtimoiy tarmoqlarda web ilovalardan keng 
foydalanilmoqda. Ushbu ilovalarning samarali va xavfsiz ishlashi ko‘p 
jihatdan foydalanuvchi tomonidan kiritiladigan ma’lumotlarning 
to‘g‘riligiga bog‘liq. Shu nuqtai nazardan qaraganda, forma validatsiyasi
web dasturlashning muhim tarkibiy qismi hisoblanadi. 
Forma validatsiyasi foydalanuvchi tomonidan forma maydonlariga
kiritilgan   ma’lumotlarning   belgilangan   talab   va   qoidalarga   mosligini
tekshirish   jarayonidir.   Ushbu   jarayon   web   ilovaning   ishonchliligi,
qulayligi va xavfsizligini ta’minlashda muhim rol o‘ynaydi. Agar kiritilgan
ma’lumotlar   noto‘g‘ri   yoki   to‘liq   bo‘lmasa,   tizim   noto‘g‘ri   ishlashi,
ma’lumotlar   bazasida   xatolar   yuzaga   kelishi   yoki   axborot   xavfsizligiga
tahdid   paydo   bo‘lishi   mumkin.   Shuning   uchun   forma   validatsiyasi
zamonaviy web texnologiyalarining ajralmas elementi sifatida qaraladi. 
Web ilovalar orqali foydalanuvchilardan shaxsiy ma’lumotlar, login
va   parollar,   to‘lov   rekvizitlari,   elektron   pochta   manzillari   va   boshqa
muhim   axborotlar   qabul   qilinadi.   Ushbu   ma’lumotlarning   noto‘g‘ri
kiritilishi   yoki   nazoratsiz   qabul   qilinishi   turli   texnik   va   huquqiy
muammolarni   keltirib   chiqaradi.   Forma   validatsiyasi   aynan   shunday
muammolarning oldini olishga xizmat qiladi. U foydalanuvchiga xatolar
haqida   o‘z   vaqtida   xabar   berib,   ma’lumotlarni   to‘g‘ri   shaklda   kiritishga
yo‘naltiradi. 
Zamonaviy   web   dasturlashda   forma   validatsiyasi   bir   necha
darajada amalga oshiriladi. Dastlab foydalanuvchi tomoni, ya’ni brauzer
darajasida   tekshiruv   o‘tkaziladi.   Bu   usul   foydalanuvchi   uchun   qulaylik
yaratadi, chunki xatolar darhol ko‘rsatiladi va sahifa qayta yuklanmaydi. Biroq faqatgina foydalanuvchi tomon validatsiyasi yetarli emas. Chunki
bu turdagi tekshiruvlarni texnik jihatdan chetlab 
18  o‘tish mumkin. Shu sababli server tomon validatsiyasi ham albatta 
amalga oshirilishi lozim. 
Forma   validatsiyasining   rivojlanishi   web   texnologiyalar
evolyutsiyasi   bilan   chambarchas   bog‘liqdir.   Dastlabki   web   sahifalarda
forma tekshiruvi deyarli mavjud bo‘lmagan yoki juda sodda ko‘rinishda
bo‘lgan.   Keyinchalik   JavaScript   tilining   keng   joriy   etilishi   bilan   dinamik
va   interaktiv   validatsiya   usullari   paydo   bo‘ldi.   HTML5   standartining
ishlab chiqilishi esa forma validatsiyasini yanada soddalashtirib, ko‘plab
tekshiruvlarni brauzer darajasida amalga oshirish imkonini berdi. 
Bugungi   kunda   forma   validatsiyasi   nafaqat   texnik   vazifa,   balki
foydalanuvchi   tajribasini   yaxshilashga   xizmat   qiluvchi   muhim   omil
sifatida   ham   qaraladi.   To‘g‘ri   tashkil   etilgan   validatsiya
foydalanuvchining web ilovadan foydalanishini yengillashtiradi, xatolar
sonini   kamaytiradi   va   tizimga   bo‘lgan   ishonchni   oshiradi.   Aksincha,
noto‘g‘ri   yoki   noqulay   validatsiya   foydalanuvchining   noroziligiga   va
ilovadan voz kechishiga olib kelishi mumkin. 
Shuningdek,   forma   validatsiyasi   axborot   xavfsizligi   bilan   ham
bevosita   bog‘liqdir.   SQL   injection,   cross-site   scripting   va   boshqa
kiberxurujlar   ko‘pincha   noto‘g‘ri   tekshirilgan   forma   ma’lumotlari   orqali
amalga   oshiriladi.   Server   tomon   validatsiyasi   va   ma’lumotlarni   filtrlash
ushbu   xavflarni   sezilarli   darajada   kamaytiradi.   Shu   sababli   forma
validatsiyasi   web   xavfsizlik   siyosatining   muhim   tarkibiy   qismi
hisoblanadi. 
Ta’lim   jarayonida   web   dasturlashni   o‘rgatishda   ham   forma
validatsiyasi alohida mavzu sifatida o‘rganiladi. Talabalar HTML, CSS va
JavaScript   asoslarini   o‘zlashtirgach,   forma   yaratish   va   ularni   to‘g‘ri
validatsiya   qilish   ko‘nikmalarini   egallaydi.   Bu   esa   kelajakda   sifatli   va
xavfsiz web ilovalar yaratish uchun mustahkam poydevor bo‘lib xizmat
qiladi. 
Shu   jihatlarni   inobatga   olgan   holda,   forma   validatsiyasini
o‘rganish   nafaqat   texnik   bilimlarni   chuqurlashtiradi,   balki   web ilovalarning   funksionalligi   va   ishonchliligini   oshirishga   xizmat   qiladi.
Ushbu mavzu zamonaviy web 
19  texnologiyalarining ajralmas qismi bo‘lib, doimiy rivojlanib borayotgan 
soha hisoblanadi. 
Ma’lumotlarni tasniflash bugungi kunda turli sohalarda, jumladan,
tibbiyot, moliya, sanoat va tabiiy tilni qayta ishlash sohalarida muhim 
rol o‘ynaydi. Tasniflash algoritmlari yordamida ma’lumotlarni ma’lum 
sinflarga ajratish va ularni samarali boshqarish imkoniyati mavjud. 
Ushbu jarayon samarali ishlashi uchun bir nechta bosqichlar talab 
etiladi. Tasniflash jarayoni quyidagi asosiy bosqichlardan iborat: 1. 
Ma’lumotlarni yig‘ish va oldindan qayta ishlash. 2. Belgilarni tanlash va 
optimallashtirish. 3. Modelni yaratish va mashg‘ulotdan o‘tkazish. 4. 
Validatsiya va baholash. 5. Modelni ishlab chiqarish jarayoniga 
integratsiya qilish. Har bir bosqichda o‘ziga xos metodologiyalar mavjud
bo‘lib, ular tasniflash jarayonining samaradorligiga ta’sir ko‘rsatadi. 
Ushbu maqolada har bir bosqich alohida yoritiladi. Ma’lumotlarni yig‘ish
va oldindan qayta ishlash. Ma’lumotlarni tasniflash jarayoni yaxshi 
natijalarga erishish uchun sifatli ma’lumotlar yig‘ishni talab qiladi. 
Ma’lumot yig‘ish jarayonida quyidagilar muhim hisoblanadi: 
•  Ma’lumot manbalarini aniqlash: Sensorlar, veb-saytlar, tibbiy 
yozuvlar yoki boshqa manbalardan olingan ma’lumotlar. 
•  Tozalanish jarayoni: Ma’lumotlar to‘g‘ri formatda bo‘lishi uchun 
kamchiliklar, takrorlanishlar va noto‘g‘ri qiymatlar yo‘q qilinadi. 
•  Ma’lumotlarni normallashtirish: Ma’lumotlar turli diapazonlarga 
ega bo‘lishi mumkin, ularni bir xil diapazonga keltirish kerak. 
•   Muvozanatli   sinflar   yaratish:   Ma’lumotlar   muvozanatsiz   bo‘lsa,
tasniflash   natijalari   noto‘g‘ri   bo‘lishi   mumkin.   Sinflar   balansini   saqlash
muhim   ahamiyatga   ega.   Belgilarni   tanlash   va   optimallashtirish.
Ma’lumotlar   tasniflash   natijalarini   yaxshilash   uchun   eng   muhim
belgilarni tanlash va optimallashtirish muhimdir. 
•  Filtr usullari: Belgilarni statistik mezonlar asosida baholash va muhim 
bo‘lganlarini tanlash.  •  Wrapper usullari: Model asosida belgilarni tanlab olish va 
ularning natijalarini tekshirish. 
20  •  Ansambl usullari: Bir nechta algoritmlar natijalarini birlashtirish orqali 
optimal belgilar to‘plamini aniqlash. 
•  Dimensional Reduction: Belgilar sonini kamaytirish orqali 
modelning samaradorligini oshirish. Modelni yaratish va mashg‘ulotdan
o‘tkazish. Modelni yaratish jarayoni tasniflash algoritmiga bog‘liq. 
Mashhur tasniflash algoritmlariga quyidagilar kiradi: 
•  Naive Bayes: Soddaligi va tezkorligi bilan ajralib turadi. 
•  Qaror daraxtlari: Oson tushunarli bo‘lib, murakkab xususiyatlarni
yaxshi ifodalaydi. 
•  Support Vector Machines (SVM): Chiziqli bo‘lmagan tasniflash 
masalalarida samarali ishlaydi. 
•  Neyron tarmoqlar: Chuqur o‘rganish usullari yordamida yuqori 
samarali natijalarga erishish imkonini beradi. 
•  Ansambl usullari: Random Forest va Gradient Boosting kabi 
algoritmlar model natijalarini yaxshilash uchun ishlatiladi. Validatsiya va
baholash. Modelning samaradorligini baholash uchun quyidagi 
mezonlar ishlatiladi: 
•  Aniqlik (Accuracy): Modelning to‘g‘ri tasniflash foizini o‘lchaydi. 
•  F1-score: Precision va Recall ko‘rsatkichlari asosida aniqlanadi. 
•  AUC-ROC: Modelning turli chegaraviy qiymatlar bo‘yicha qanday 
ishlashini baholaydi. 
•  Cross-validation: Modelning umumiy ishlash qobiliyatini 
tekshirish uchun ishlatiladi. Modelni ishlab chiqish jarayoniga 
integratsiya qilish. Oxirgi bosqichda model amaliyotga joriy etiladi. Bu 
jarayonda quyidagi qadamlar amalga oshiriladi:  •  Modelni serverga
joylashtirish 
•  Real vaqt rejimida tahlil qilish 
•
Modelnin
g doimiy yangilanis
hi va optimallas
htirilishi Xulosa. Ma’lumotlarni tasniflash jarayoni bir nechta bosqichlarni o‘z ichiga oladi
va har bir bosqich model samaradorligiga ta’sir ko‘rsatadi. 
Ma’lumotlarni oldindan qayta 
21  ishlash, belgilarni optimallashtirish, model yaratish va validatsiya qilish
bosqichlari to‘g‘ri bajarilsa, modelning umumiy natijalari yuqori bo‘ladi.
Kelajakda   yangi   algoritmlarni   qo‘llash   va   katta   hajmdagi   ma’lumotlar
bilan   ishlashga   moslashuvchan   yondashuvlar   ishlab   chiqish   muhim
tadqiqot yo‘nalishlaridan biri bo‘lib qoladi. 
Ma’lumotlarni   vizuallashtirish   va   tahlil   qilish   so‘nggi   yillarda
biznes,   hukumat   va   fan   sohalarida   tobora   muhim   ahamiyat   kasb
etmoqda. Bu jarayon katta hajmdagi axborotni aniq, tushunarli shaklga
aylantirish   va   undan   analitik   xulosalar   chiqarish   imkonini   beradi.
Vizualizatsiya   ma’lumotlarni   oddiy   grafiklar,   diagrammalar   va
xaritalarda   taqdim   etib,   odamlarga   murakkab   ma’lumotlarni   osonroq
tushunishga   yordam   beradi.   Ushbu   maqolada   biz   ma’lumotlarni
vizualizatsiya   qilish   va   tahlil   qilishning   ahamiyati,   qiziqarli   misollar   va
ekspert fikrlarini ko‘rib chiqamiz. 
Ma’lumotlarni vizualizatsiya qilish: Oson tushunish uchun asos
Ma’lumotni   vizualizatsiya   qilish   katta   hajmdagi   ma’lumotlardan
foydali   ma’lumotlarni   ajratib   olishga   va   uni   aniq   va   tushunarli   tarzda
taqdim   etishga   yordam   beradi.   Hans   Rosling   kabi   taniqli   ma’lumotlar
tahlilchilari   vizualizatsiya   kuchini   namoyish   etdilar.   Uning   2006-yilda
boshlangan   “Gapminder”   loyihasi   oddiy   grafiklar   va   dinamik   xaritalar
yordamida   kengroq   auditoriyaga   global   iqtisodiyot   va   sog‘liq   bilan
bog‘liq murakkab statistik ma’lumotlarni taqdim etish imkonini berdi. 
Vizualizatsiya   nafaqat   tahlil   qilish,   balki   strategik   qarorlar   qabul
qilishda   ham   muhim   vosita   bo‘lib   xizmat   qiladi.   Gartner   tadqiqotiga
ko‘ra,   ma’lumotlarni   vizualizatsiya   qilish   kompaniyalar   uchun   qaror
qabul   qilishni   25   foizga   tezlashtirishi   mumkin.   Bu   sizga   ma’lumotlarni
nafaqat raqamlar, balki grafiklar orqali ham ko‘rish imkonini beradi, bu
murakkab munosabatlar va o‘zgarishlarni tushunishni osonlashtiradi.  22  Haqiqiy   hayotda   ma’lumotlarni   vizualizatsiya   qilishning
yutuqlaridan biri pandemiya davrida COVID-19 tarqalishi xaritasi bo‘ldi.
Jons   Xopkins   universiteti   tomonidan   yaratilgan   COVID-19   xaritasi   real
vaqt   rejimida   yangilanishlar   va   pandemiyaning   butun   dunyo   bo‘ylab
tarqalishini   kuzatish   imkonini   berdi.   Ushbu   xarita   foydalanuvchilarga
global miqyosda yuqtirganlar, vafot etganlar va tuzalib ketganlar sonini
aniq ko‘rsatdi. 
NASA,   shuningdek,   ilmiy   tadqiqotlarida   ma’lumotlarni
vizualizatsiya   qilishdan   keng  foydalanadi.   Misol  uchun,   Iqlim   o‘zgarishi
ma’lumotlari   tashabbusi   orqali   agentlik   global   iqlim   o‘zgarishini
ko‘rsatadigan   grafik   va   xaritalar   orqali   katta   ma’lumotlar   to‘plamini
taqdim   etadi.   Ushbu   vizualizatsiya   oddiy   foydalanuvchilar   va
siyosatchilar uchun iqlim o‘zgarishi ta’sirini tushunishni osonlashtiradi. 
Bugungi   kunda   ma’lumotlarni   turli   shakllarda   ko‘rsatishga   imkon
beruvchi   turli   xil   vizualizatsiya   vositalari   mavjud.   Tableau   va   Microsoft
Power BI kabi dasturlar ma’lumotlarni tezkor vizuallashtirish uchun eng
mashhur   vositalardir.   Tableau,   ayniqsa,   ma’lumotlarni   tahlil   qilish   va
ularni   grafik   ko‘rinishda   taqdim   etish   uchun   foydalidir.   2022-yilda
olingan   maʼlumotlarga   koʻra,   maʼlumotlarni   vizualizatsiya   qilish
vositalaridan   foydalanganda   kompaniyalar   samaradorligi   30   foizga
oshgani qayd etildi. 
Vizualizatsiya   sohasida   Google   Charts   va   D3.js   kabi   ochiq   manba
vositalari   ham   keng   qo‘llaniladi.   Google   Charts   internet
foydalanuvchilari   uchun   juda   qulay   va   ularga   interaktiv   grafiklar
ko‘rinishida   ma’lumotlarni   taqdim   etish   imkonini   beradi.   D3.js   veb-
grafiklar va diagrammalar yaratish uchun kuchli imkoniyatlarni taqdim
etadi va ko‘plab veb-saytlarda qo‘llaniladi. 
IBM   tomonidan   olib   borilgan   tadqiqotlar,   shuningdek,
ma’lumotlar   vizualizatsiyasi   biznes   qarorlarini   qabul   qilishda   muhim
yordam   berishini   ta’kidlaydi.   Ushbu   tadqiqotga   ko‘ra,   ma’lumotlarning vizual   tasviri   qaror   qabul   qilish   jarayonini   40%   ga   tezlashtiradi,   chunki
bu tahlil qilinayotgan ma’lumotni tushunishni osonlashtiradi. 
23  Ma’lumotlarni   vizuallashtirish   va   tahlil   qilish   zamonaviy   biznes   va
fanning   eng   muhim   vositalaridan   biriga   aylandi.   Ular   ma’lumotlarni
ko‘rish va tahlil qilishni osonlashtiradi va murakkab statistikani aniq va
qulay shaklda taqdim etishga yordam beradi. Bu texnologiyalar nafaqat
tahlil   qilish,   balki   samarali   qarorlar   qabul   qilish   va   murakkab
jarayonlarni   boshqarishda   ham   muhim   rol   o‘ynaydi.   Vizualizatsiya
vositalaridan   foydalangan   holda,   kompaniyalar   o‘zlarining
samaradorligini   oshirishlari   va   ma’lumotlardan   maksimal   darajada
foydalanishlari,   ularni   yanada   raqobatbardosh   qilishlari   va   kelajakda
yanada muvaffaqiyatli bo‘lishlariga yordam berishlari mumkin. 
1.3. Klient tomon va server tomon validatsiyasining farqlari 
Hozirda Web-sahifaning rivojlanishi yanada interaktiv pog‘onasiga
chiqqan. Web-saytlar asta sekinlik bilan ilovalar interfeysiga o‘xshab 
bormoqda. Bularning barchasi zamonaviy Web-dasturlash 
texnologiyasi yordamida amalga oshmoqda. Web-dasturlash 
texnologiyalarini, dasturlarini asosan ikkita qismga ajratish mumkin: 
klient tomonidagi dasturlarlash (client-side) va server tomonidagi 
(server-side). Ushbu texnologiyalarni tushunish uchun avvalo bevosita 
"klient-server" texnologiyasini tushunish kerak. Web-sahifaning 
interaktiv dasturi ssenariy deb ataladi. Bunday atama dasturning 
natijasiga bog‘liq holda vujudga kelgan. Uning asosiy vazifasi Web-
sahifasida foydalanuvchi holatiga, harakatiga «reaksiya» berishdir. 
Shu  tariqa  ssenariylar klient   tomonida  bajariluvchi  va   server tomonida
bajariluvchi   ssenariylarga   bo‘linadi.   Klient   tomonida   bajariluvchi
ssenariylar  brouzer  yordamida   bajariladi.   Server  tomonida   bajariluvchi
ssenariylar esa Web-server yordamida bajariladi.  24  Klient   tomonidagi   ssenariylar   Klient   tomonidagi   ssenariylar
foydalanuvchi   tomonidan   kiritilayotgan   ma’lumotlarni   to‘g‘riligini
serverga   murojaat   qilmasdan   tekshiradi.   Ko‘p   hollarda   bu   ssenariylar
JavaScript va VBScript tillarida yoziladi. 
JavaScript   bu   til   Netscape   va   Sun   Microsystems   tomonidan
yaratilgan   bo‘lib,   Web-sahifaning   fo‘nksional   imkoniyatlarini   orttirish
maqsadida   qo‘llaniladi.   JavaScript   yordamida   odatda   ma’lumotli   va
muloqot oynalarini chiqarish, animatsiyalarni ko‘rsatish kabi vazifalarni
bajarish mumkin. Bundan tashqari, JavaScript-ssenariy ba’zan o‘zi ishlab
turgan brauzer va platforma tipini aniqlash 
mumkin. JavaScript-
ssenariylar foydalanuvchi tomonidan kiritilayotgan
ma’lumotlarni to‘g‘riligini tekshirishda ham qulay hisoblanadi . 
VBScript   VBScript   tili   Microsoft   korporatsiyasi   tomonidan
yaratilgan bo‘lib, Visual Basic tilining bir qismi hisoblanadi. VBScript tili
Internet Explorer va Microsoft Internet Information Server (IIS) lar bilan
ishlashga   mo‘ljallangan   tildir.   VBScript   tilining   JavaScript   tili   bilan
umumiy   qisimlari   bir   nechta,   jumladan   u   aynan   Microsoft   Internet
Explorer   bilan   ishlash   va   uning   qo‘llanish   sohasini   cheklay   olish
imkoniyatiga ega. VBScript interpretatorli til hisoblanib, Microsoft ning
Web-   texnologiyalari   bilan   hamkorlikda   ishlay   oladi,   masalan   ASP
(Active   Server   Page)   bilan.   SHunga   qaramay   VBScript   klient   tomonida
ishlovchi ssenariy hisoblanadi, ASP esa server tomonida ishlaydi. 
Dasturiy   ta'minot   va   tarmoq   tizimlarida   eng   ko'p   qo'llaniladigan
model   bu   Client–Server   arxitekturasi .   U   foydalanuvchilar   (client)   va
resurslarni   boshqaruvchi   markaziy   xizmat   (server)   o'rtasidagi
muloqotni ifodalaydi. 
Oddiy qilib aytganda: 
•
Client (Mijoz):  so'rov yuboradi 
(masalan: brauzer orqali sahifa
ochadi). 
•
Server:  javob qaytaradi (masalan: 
web-server HTML sahifa 
Ishlash prinsipi  1. Client  - foydalanuvchining 
qurilmasida ishlaydi (brauzer, 
desktop dastur). 
25  2.  Server  - esa doimiy ishlaydigan markaziy dastur (odatda 
internet orqali 
ulanish mumkin). 
3.  Client  request (so'rov)  yuboradi. Server so'rovni qabul qiladi, 
qayta 
ishlaydi va  response (javob)  yuboradi. 
teachcomputerscience.com
Real hayotiy misol 
Tasavvur qiling, siz brauzer orqali  https://youtube.com  ga kirdingiz: 
• Client (sizning brauzeringiz) : "Menga Youtube bosh sahifasini 
yubor" deydi. 
• Server (Youtube serverlari) : HTML, CSS, JavaScript fayllarini va 
kontentni yuboradi. 
• Client bu fayllarni ko'rsatib, foydalanuvchiga interfeys 
chiqaradi. 
Client–Server afzalliklari 
•
•
• Resurslarni markazlashtirilgan 
holda boshqarish mumkin.
Xavfsizlikni nazorat qilish oson (bir 
joyda boshqariladi).
avtomatik oladi). 
• Ko'plab foydalanuvchilar bilan ishlash uchun mos.  26  Client–Server kamchiliklari 
•
Server  single point of failure  bo'lishi 
mumkin (server ishdan chiqsa,
barcha clientlarga xizmat to'xtaydi). 
•
• Serverni kengaytirish (scaling) 
talab qilinadi (vertikal yoki 
gorizontal). Tarmoq orqali 
Client–Server arxitekturasiga muqobil  Peer-to-Peer (P2P)  barcha 
qurilmalar 
bir-biriga to'g'ridan-to'g'ri ulanadi (misol: torrent). Client–Server 
modelida esa 
doimiy markaziy server mavjud bo'ladi. 
Client–Server arxitekturasi web, mobil, desktop va ko'plab 
xizmatlarning 
asosi. Internetdagi deyarli barcha dasturlar (Google, Facebook, 
Telegram, bank 
ilovalari) shu modelda ishlaydi.  27  II BOB. FORMA VALIDATSIYASINI AMALIY JORIY ETISH 
USULLARI 
2.1.HTML5 yordamida forma validatsiyasini amalga oshirish 
Deyarli   barcha   veb-saytlarda   formalarni   uchratish   mumkin.
Ro‘yxatdan   o‘tish,   xaridni   onlayn   amalga   oshirish,   elektron   pochta
ochish   yoki   unga   kirish   kabilar   formalar   orqali   amalga   oshiriladi.
Zamonaviy   saytlarni   formalarsiz   tasavvur   qilib   bo‘lmaydi.   HTML   tili
orqali   faqat   forma   tashqi   ko‘rinishini   yaratish   mumkin,   undagi
ma’lumotlarni   qayta   ishlash,   so‘rovlarni   yuborish   veb-dasturlash   tillari
(PHP,   Java,…)   orqali   amalga   oshiriladi.   Formalar   yaratishda   forma
elementlaridan foydalaniladi. 
Formalarda   bir   nechta   forma   elementlari   bo‘lishi   mumkin,
ularning har biri turli xil ma’lumotlarni to‘playdi. Server qaysi ma’lumot
qaysi   elementga   mansub   ekanligini   bilishi   lozim.   Shu   boisdan   forma
elementlari   o‘z   nomiga   ega   bo‘lishi   zarur.   Kiritilgan   ma’lumotlarni   bir-
biridan   farqlash   uchun   ma’lumot   brauzerdan   serverga   element   nomi/
element   qiymati   juftligi   yordamida   yuboriladi.   Foydalanuvchi   anketani
to‘ldiradi   va   ma’lumotni   serverga   yuborish   uchun   “Jo‘natish”
tugmachasini bosadi.  28  form>… 
tegi veb-sahifaga forma joylashtirish uchun qo‘llaniladi. Bu 
element foydalanuvchi va veb-server o‘rtasidagi aloqani ta’minlaydi. 
Barcha forma elementlari shu teg ichida yoziladi. Agar forma ichida 
forma elementlari (button, checkbox, radiobutton, ... ) kiritilmasa, u 
holda teg brauzerga hech nimani chiqarmaydi. form elementida har 
doim action atributi ishtirok etishi lozim. 
tegi   atributlari:   action   –   forma   orqali   jo‘natilayotgan   ma’lumotlar
qaysi   sahifada   qayta   ishlanishi   kerakligi   beriladi.   Uning   qiymati
serverdagi   sahifaning   URL   manzilidir.   method   –   forma   ma’lumotlarini
jo‘natish   usuli.   Bu   atribut   qiymati:   get   yoki   post.   •   get   usuli   serverdan
ma`lumotlarni olish uchun ishlatiladi. 
get usuli quyidagi hollarda qo‘llaniladi: 
– qisqa formalarda (qidiruv maydonchalari kabi); 
– veb-serverdan ma’lumotlarni olayotganda (ma’lumotlar bazasiga
qo‘shilishi yoki o‘chirilishi kerak bo‘lgan ma’lumotlarni yubormaslik 
uchun); 
 • post usuli ma`lumotlarni serverga yuborish uchun ishlatiladi. 
post usuli quyidagi hollarda qo‘llaniladi: 
 – formada foydalanuvchilar tomonidan fayl yuklanganda; 
– formada juda uzun ma’lumotlar mavjud bo‘lganda; 
 – ma’lumotlar bazasiga ma’lumot qo‘shish yoki ularni o‘chirishda. 
Agar method atributidan foydalanilmasa, forma ma’lumotlari get usuli 
yordamida yuboriladi. name – formaga nom berish (bu nom skriptlar 
yozishda ishlatiladi). target – jo‘natilayotgan axborotni qayta ishlovchi 
veb-sahifaning ochilish turi va uning qiymatlari: 
 • _blank – gipermurojaatni brauzerning yangi sahifasida ochish; 
• _self – gipermurojaatni joriy oynada ochish (standart sozlamaga 
ko‘ra);  • _parent rejimida ishlaydi; 
• _top – barcha freymlarni rad etib, gipermurojaatni asosiy brauzer
oynasida  ochadi, ELEMENTI … tegi turli xil
forma
uchun ishlatiladi, ya’ni formaning asosi hisoblanadi. input elementining 
atributlari: 
29  type – forma elementi turi. Bu atribut formada har xil ko‘rinishdagi 
elementlarni hosil qiladi. Atribut qiymatlari: 
• text – bir qatorli matn kiritish uchun ishlatiladi; 
• password – oddiy matnli element (lekin yozuvlari ko‘rinmaydi), 
asosan, parol yozish uchun ishlatiladi; 
• radio – bir necha tanlovdan faqat bittasini tanlash imkonini 
beradi; 
checkbox – bir necha tanlovni amalga oshiruvchi bayroqchani 
hosil qiladi;  • button – tugmacha (knopka) hosil qiladi; 
• – serverga jo‘natiladigan fayl adresini kiritadi; 
• image – rasmli tugmacha (rasm ustiga bosilganda, axborotlar 
serverga jo‘natiladi) hosil qiladi; 
• reset – forma qiymatlarini dastlabki holatga qaytaradi; 
• hidden – elementni yashirish uchun ishlatiladi; 
• submit – formadagi axborotlarni serverga jo‘natadi; 
• date – sanalarni kiritish imkonini beradi. Bunda kalendar orqali 
kerakli sana kiritiladi; 
• email – elektron pochta manzillari kiritiladigan maydonlar uchun 
ishlatiladi. Bu qiymat qo‘llanilganda, HTML5 ni qo‘llab-quvvatlovchi 
brauzerlar elektron pochta manzili to‘g‘ri formatda kiritilganini 
tekshiradi. Ba’zi mobil telefonlarda esa elektron pochta manzilini 
kiritishda kerak bo‘lgan tugmachalarni (masalan, @ belgisi kabi) 
ko‘rsatish uchun klaviaturani optimallashtiradi; 
• search – qidiruv so‘rovlari uchun matn maydonini yaratadi. 
HTML5 maxsus qidiruv yozuvini taqdim etadi. name – forma elementiga
takrorlanmas nom beradi. Berilgan nom qiymat serverga 
jo‘natilayotganda ishlatiladi. Foydalanuvchi ma’lumotni formaga 
kiritganda, server har bir ma’lumot parchasi qaysi forma elementi 
ichiga kiritilganligini bilishi lozim. Masalan, saytga kirish formasida 
server foydalanuvchi nomi va parol sifatida qanday qiymat 
kiritilganligini bilishi kerak. Shuning uchun har bir forma elementi nom  atributini talab qiladi. Ushbu atributning qiymati foydalanuvchi kiritgan 
yoki tanlagan ma’lumotlar bilan serverga yuboriladi. 
30  maxlength   –   foydalanuvchi   tomonidan   kiritilishi   mumkin   bo‘lgan
axborotning   maksimal   o‘lchami.   Foydalanuvchi   atributdan   matn
maydoniga   kiritishi   mumkin   bo‘lgan   belgilar   sonini   cheklash   uchun
foydalaniladi.   Uning   qiymati   ular   kiritishi   mumkin   bo‘lgan   belgilar
sonidir.   size   o‘rnatadi.   checked   –   checkbox   yoki   radioelementlarda
dastlabki holatni «belgilash» uchun ishlatiladi. align – type rasm (image)
bo‘lganda,   rasmni   tekislash   uchun   ishlatiladi.   Qiymatlari:   bottom,   left,
middle,   right,   top.   alt   –   rasmli   tugmachada   rasm   ochilmasa,   uning
o‘rnida paydo bo‘ladigan yozuv.
border   src   –   type   rasm   (image)   bo‘lgan   element   adresini
ko‘rsatadi. readonly – yozuvli elementda ishlatilsa, faqat yozuvni ko‘rish
imkonini   yaratadi,   o‘zgartirib   bo‘lmaydi.   multiple   –   element   tipi   fayl
bo‘lganda,   bir   paytda   bir   necha   fayllar   kiritilishi   mumkinligini   bildiradi.
value – forma elementiga dastlabki qiymatni beradi. 
bir tanlovli maydon yaratishtype = "radio". input elementining type
atributi radioqiymatiga ega bo‘lganda, berilgan variantlardan faqat
bittasini tanlash imkonini beruvchi bir tanlovli maydon hosil qiladi. faylni
yuklash, ma’lumotlarni serverga yuborish tugmachasini yaratish
elementining type bo‘lganda, faylni sahifaga 31  yuklash imkonini beruvchi maydonni hosil qiladi. Foydalanuvchi faylni 
yuklash tugmachasini bosganda, kompyuterdan faylni tanlash imkonini 
beruvchi oyna ochiladi. Foydalanuvchiga faylni yuklashga ruxsat 
berilganda, 
elementidagi method atributi „post“ qiymatiga ega bo‘lishi kerak. 
(HTTP get usuli yordamida fayllarni yubormaydi.) 
Faylni PDF variantda yuklang: 
type = "submit". input elementining type atributi „submit“ 
qiymatiga ega bo‘lganda, sahifadagi ma’lumotlarni serverga yuborish 
tugmachasi hosil bo‘ladi. name atributidan foydalanish ham, uni 
ishlatmaslik ham mumkin. value atributi tugmachadagi matnni 
ifodalaydi. Atribut ishlatilmasa, tugmacha nomi sifatida standart qiymat
„submit“ chiqadi. textarea>… forma elementi bo‘lib, katta hajmdagi 
matnlarni kiritish uchun ishlatiladitegi orasida matn yozilib, 
foydalanuvchi tomonidan ushbu matnlar o‘chirilmasa, ular 
foydalanuvchi tomonidan kiritilgan boshqa ma’lumotlar bilan serverga 
jo‘natiladi. Ko‘p satrli atributlari ishlatiladi. 
2.2. JavaScript orqali dinamik forma validatsiyasi 
Javascript  – bu Webni gipermatnli sahifalarini klient tomonida 
ko’rish tsenariyalarini boshqarish tili. Yanada aniqroq aytadigan bo’lsa, 
Javascript  – bu na faqat klient tomonidagi dasturlash tili. Liveware 
Javascript  tilining avlodi bo’lib, Netscape serveri tomonida ishlovchi 
vosita bo’ladi. Ammo  Javascript  tilini mashhur 
qilgan narsa bu klient tomonida dasturla
shdir.
Javascript ning asosiy vazifasi –  HTML-konteynerlar  atributlarining 
qiymatlarini va 
ko’rsatuvchi muhitining
hossalirini  HTML- ko’rish jarayonida
foydalanuvchi tomonidan o’zgartirish imkoniyatlarida, boshqacha 
aytganda ularni dinamik sarlavxalar qilish (DHTML). Yana shuni aytish 
joizki, sarlavxalar qayta yuklanmaydi  Amalda buni, masalan, quydagicha ifodalash mumkin, 
sarlavxaning fonini rangini  yoki xujjatdagi rasmni o’zgartirish, yangi 
oyna ochish yoki ogoxlantirish oynasini chiqarish. 
32  “ JavaScript ” nomi Netscape kompaniyasining hususiy maxsuloti. 
Microsoft 
tomonidan amalga oshirilgan til rasman 
Jscript  de
nomlanadi . Jscript  versiyalari  Javascript ning mos versiyalari bilan 
moskeladi 
(aniqroq qilib aytganda oxirigacha emas).
Javascript  – ECMA (European Computer Manufacturers Association – 
Evropa 
Kompyuter Ishlab Chiqaruvchilar Assotsiyatsiya
si) tomonidan
standartlashtirilgan.  Mos standartlar quydagicha nomlanadi ECMA-262
va ISO-16262. Ushbu standartlar bilan  Javascript  1.1ga taqriban
ekvivalent ECMAScript tili aniqlanadi. Eslatish joizki, bugungi kunda
Javascript  ning hamma versiyalari ham ECMA standartlariga mos
kelavermaydi. Mazkur kurs yoki qo’llanmada 
barcha hollarda biz  Javascript
nomidan foydalanamiz.
Javascriptning   asosiy   hususiyatlari.Javascript   –   bu   Internet   uchun   katta
bo’lmagan   klient   va   server  ilovalarni  yaratishga   mo’ljallangan   nisbatan
oddiy ob’ektga yo’naltirilgan til.  Javascript  tilida tuzilgan dasturlar HTML-
xujjatning ichiga 
joylashtir
ilib ular bilan birga uzatiladi. Kurish dasturla
ri
( brauzerlar   –   browser   ingliz   suzidan)   Netscape   Navigator   va   Microsoft
Internet   Explorer   xujjat   matniga   joylashtirilgan   dasturlarni   ( Scriptkod )
uzatishadi va bojarishadi. 
Shunday   qilib,   Javascript   –   interpritatorli   dasturlash   tili   xisoblanadi.
Javascript da   tuzilgan   dasturlarga   foydalanuvchi   tomonidan
kiritilayotgan ma’lumotlarni tekshirayotgan yoki xujjatni ochganda yoki
yopganda   biror   bir   amallarni   bagaruvchi   dasturlar   misol   bo’lishi
mumkin. 
JavaScript   da   yaratilgan   dasturlarga   misol   sifatida   foydalanuvchi
tomonidan   kiritilgan   ma’lumotlarn   tekshiruvchi,   dokumentni   ochish
yoki yopish vaqtida qandaydir amallarni bajaruvchi dasturlarni keltirish
mumkin.   Bunday   dasturlar   foydalanuvchi   tomonidan   berilgan kursatmalarga   –   sichqoncha   tugmachasini   bosilishiga,   ma’lumotlarni
ekran orqali kiritishiga yoki sichqonchani sahifa buylab siljitilishiga kura
ish bajaradi. Bundan tashqari JavaScript dagi dasturlar brauzerning 
uzini va dokument
ning atributlari
ni ham boshqaris
hi mumkin.
33  JavaScript dasturlash tili sintaktik jihatdan Java dasturlash tiliga, ob’ektli
modellashni   istisno   qilgan   holda,   o’hshab   ketsada,   lekin   ma’lumotlarni
statik   tiplari   va   qat’iy   tiplashtirish   kabi   hususiyatlarga   ega   bulmaydi.
JavaScript   da   Java   dasturlash   tilidan   farq   qilib,   sinf   (klass)   tushunchasi
bu   tilning   asosiy   sintaktik   qurilmasi   hisoblanmaydi.   Bunday   asos
sifatida   foydalanilayotgan   tizim   tomonidan   qullab-quvvatlanayotgan,
oldindan aniqlangan ma’lumot tiplari: sonli, mantiqiy va satrli; mustaqil
ham   bulishi,   ob’ektning   metodi   (JavaScripda   metod   tushunchasi
funktsiya/qism-dastur ning uzi) sifatida ham ishlatilishi mumkin bulgan
funktsiyalar;   katta   sondagi   uz   hossalariga   va   metodlariga   ega   bulgan
oldindan  aniqlangan ob’ektlardan  iborat  ob’ektli  model va  yana  dastur
ichida foydalanuvchi 
tomonidan yangi ob’ektlarni berish qoidalari hisoblanadi.
JavaScript da dasturlar yaratish uchun hech qanday qo’shimcha vositalar
kerak bulmaydi – faqatgina tegishli versiyadagi JavaScript qullanishi
mumkin bulgan brauzer va DHTML-dokumentlarni yaratishga imkon
beruvchi  matn muharriri kerak bo’ladi. JavaScript dagi dastur bevosita
HTML –dokumentlarni ichiga joylashtirilganligi uchun dastur natijasini
dokumentni brauzer yordamida kurish orqali tekshirish mumkin va
kerakli holda uzgartirishlar kiritilishi mumkin.  JavaScript dasturlash tilining
imkoniyatlari.  Uning yordamida HTML –dokumentlarning ko’rinishi va
tuzilishini dinamik ravishda boshqarish mumkin. Ekranda
tasvirlanayotgan dokumentga brauzer tomonidan yuklangan
dokumentning sintaktik tahlil qilish jarayonida istalgan HTML-kodlarni
joylashtirish mumkin. “Dokument” ob’ekti yordamida foydalanuvchining
oldingi bajargan amallari yoki boshqa bir faktorlarga kura yangi
dokumentlarni avtomatik hosil qilish mumkin. JavaScript yordamida
brauzer ishini boshqarish mumkin. Masalan, Window ob’ekti suzib
yuruvchi oynalarni ekranga chiqarish, brauzerning yangi oynalarini
yaratish, ochish va yopish, oynalarning yugurdagi va o’lchamlarining
rejimlarini o’rnatish va  hokazolarni imkoniyatini beruvchi metodlarga ega.
JavaScript dokumentdagi ma’lumotlar bilan bog’lanish imkoniyatini 
beradi. Document ob’ekti va undagi mavjud ob’ektlar dasturlarga 
HTML-dokumentlarning 
34  qismlarini   o’qish   va   bazida   ular   bilan   bog’lanish   imkoniyatini   beradi.
Matnning   o’zini   o’qish   mumkin   emas,   lekin   masalan   berilgan
dokumentdagi   gipermatnli   o’tishlar   ro’yhatini   olish   mumkin.     Hozirgi
vaqtda   Form   ob’ekti   va   undagi   mavjud   bo’lishi   mumkin   bo’lgan
ob’ektlar:   Button,   Checkbox,   Hidden,   Password,   Radio,   Reset,   Select,
Submit, Text va Textarealar  dokumentdagi ma’lumotlar bilan 
bo’g’lanish uchun keng imkoniyatlar beradi.
JavaScript   foydalanuvchi   bilan   aloqa   qilishga   imkon   beradi.   Bu   tilning
eng   muhim   hususiyati   unda   amalga   oshirilgan   hodisalarni   qayta
ishlashni   aniqlsh   imkoniyati   –   ma’lum   bir   hodisaning   (odatda
foydalanuvchi   tomonidan   bajarilgan   amal)   ro’y   berish   vaqtida
bajariladigan   dastur   kodining   ihtiyoriy   qismi     hisoblanadi.   JavaScript
hodisalarni   qayta   ishlovchi   sifatida   ihtiyoriy   yangi   oldindan   berilgan
funktsiyalardan   foydalanish   imkoniyatini   beradi.   Masalan,
foydalanuvchi   sichqoncha   ko’rsatkichini   gipermatnli   o’tishlar   ustiga
keltirsa,   holatlar   satrida   mahsus   habarni   chiqaruvchi   yoki   ma’lum   bir
amalni   bajarishni   tasdiqlashni   so’rovchi   dialogli   oynani   ekranga
chiqaruvchi   yoki   foydalanuvchi   tomonidan   kiritilgan   qiymatlarni
tekshiruvchi   va   hatolik   yuz   bergan   holda   kerakli   kursatmalarni   berib,
tug’ri qiymatni kiritishni 
so’rovchi dasturlarni yaratish mumkin.
JavaScript   ihtiyoriy   matematik   hisoblashlarni   bajarish   imkoniyatini
beradi.   Bundan   tashqari   bu   tilda   vaqt   va   sanalarning   qiymatlari   bilan
ishlovchi   yuqori   darajada   rivojlangan   vositalar   mavjud.   JavaScript   CGI-
dasturlarga   va   Perl   dasturlash   tiliga   va   to’diruvchi   sifatida   ayrim
hollarda   Java   tiliga   muqobil   til   sifatida   yaratilgan.   Har   bir   boshlovchi
dasturchining   asosiy   savoli:   “Dasturlar   qanday   tuziladi   va   bajariladi?   ”.
Bu   savolga   iloji   boricha   soddaroq,   lekin   JavaScript -kodlarini
qo’llanilishining   barcha   usullarini   unutmagan   holda   javob   berishga
harakat qilamiz. 
Birinchid
an,  brauzer tomonidan bajariladi. Unda mahsus
JavaScript mavjud. Unga kura programmaning
bajarilishi  interpretator tomonidan boshqaruvni qachon va qay tarzda 
olishiga bog’liq bo’ladi. Bu esa, o’z navbatida kodning funktsiyaviy 
qo’llanilishiga bo’g’liq 
35  bo’ladi. Umuman olganda  JavaScript  ning funktsional qo’llanishining 4 
hil usulini ajratib ko’rsatish mumkin: 
1.  gipermatnli o’tish (URL sxemasi); 
2.  hodisalarni qayta ishlash (handler); 
3.  o’rniga qo'yish(entity) 
4.  qo’yish ( SCRIPT  konteyneri).
JavaScript   bo’yicha   o’quv   qo’llanmalarida   JavaScript   ni   qo’llashning
bayoni   odatda   SCRIPT   konteyneridan   boshlanadi.   Lekin   dasturlash
nuqtai   nazaridan   bu   unchalik   ham   to’g’ri   emas,   chunki   bunday   tartib
asosiy   savol:   “ JavaScript -kodi   boshqaruvni   qanday   oladi?”   ga   javob
bermaydi.   Ya’ni   JavaScript   da   yozilgan   va   HTML-dokumentning   ichiga
joylashtirilgan dastur qanday tarzda chaqiriladi va bajariladi. 
HTML-sahifa muallifining kasbi va uning dasturlash asoslaridan 
habardarligining darajasiga qarab  JavaScript  ni o’zlashtirishga kirishishni
bir necha hil variantlari mavjud. Agar siz klassik tillar (C, Fortran, Pascal 
va h.) bo’yicha dasturlovchi bo’lsangiz, u holda dokument matni ichida 
dasturlashdan boshlagan ma’qul, agar siz Windows sistemasida 
dasturlashga o’rgangan bo’lsangiz, u holda hodisalarni qayta ishlashni 
dasturlashdan boshlaganingiz ma’qul, agar siz faqat HTML bo’yichagina
tajribaga ega bo’lsangiz yoki anchadan beri dasturlash bilan 
shug’ullanmayotgan bo’lsangiz, u holda gipermatnli o’tishlarni 
dasturlashdan boshlaganingiz ma’qul.  URL-sxemali  JavaScript.  URL 
sxemasi (Uniform Resource Locator)- bu Web-texhologiyalarning asosiy 
elementlaridan biri. Web dagi har bir informatsion resurs uzining o’ziga
hos URLiga ega bo’ladi. URL A konteynerining HREF atributida, IMG 
konteynerining SRC atributida, FORM konteynerining ACTION atributida
va h.larda ko’rsatiladi. Barcha URL lar resursga ruhsatning protokoliga 
bog’liq bo’lgan ruhsat sxemalariga bo’linadi, masalan, FTP-arxiviga 
kirish uchun ftp sxemasi, Gopher-arxiviga kirish uchun gopher sxemasi,
elektron maktublarni jo’natish uchun smtp sxemasi qo’llaniladi. 
Sxemaning tipi URLning birinchi komponentasiga ko’ra aniqlanadi:  http://directory/page.html 
36  Bu holatda URL http bilan boshlanayapti- mana shu kirish sxemasini 
aniqlashdir (sxema http). 
Gipermatnli sistemalar uchun dasturlash tillarining asosiy vazifasi
gipermatnli   o’tishlarni   dasturlashdir.   Bu   shuni   bildiradiki,   u   yoki   bu
gipermatnli o’tishlarni tanlashda gipermatnli o’tishni amalga oshiruvchi
dastur chaqiriladi. Web-
texnologiy
alarida standart dastur sifatida sahifani yuklash dasturi
hisoblanadi.  HTTP protokoli bo’yicha standart o’tishni  JavaScript  da 
dasturlangan o’tishdan farq qilish uchun yaratuvchilar yangi URL 
sxemasi –  JavaScript  ni kiritishdi: 
 <A HREF="JavaScript:JavaScript_код">...</A> 
 <IMG SRC="JavaScript:JavaScript_код"> 
Bu holatda "JavaScript_код" matni birinchi holatda gipermatnli 
o’tishni tanlanganda chaqiriladigan va ikkinchi holatda rasmni 
yuklashda chaqiriladigan JavaScript da yaratilgan dasturiy-qayta 
ishlovchilarni bildiradi. 
 Masalan, Внимание!!! gipermatnli o’tishga keltirilgan holda 
ogohlantiruvchi oynani chiqarish mumkin: 
 <A HREF="JavaScript: alert('Внимание!!!');"> Внимание!!!</A> 
Formadagi submit tipidagi tugmachani bosish orqali shu 
formadagi matnli maydonni to’ldirish mumkin: 
 <FORM NAME=f METHOD=post 
ACTION="Java
Script: window.documen
t.f.i.VALUE=' Click tugmani
bosing';void(0);" 
 <TABLE BORDER=0> 
 <TR> 
 <TD><INPUT NAME=i></TD>  37   <TD><INPUT TYPE=submit VALUE=Click></TD> 
 <TD><INPUT TYPE=reset VALUE=Reset></TD> 
 </TABLE> 
 </FORM> 
URLda murakkab dasturlar va funktsiya chaqirilishlarini 
joylashtirish mumkin. Faqatgina shuni yodda tutish kerakki, JavaScript 
sxemasi hamma brauzerlarda ham ishlamaydi, faqatgina Netscape 
Navigator va Internet Explorer 
larning to;rtinchi versiyalaridan boshlab ishlaydi.
Shunday   qilib   gipermatnli   o’tishlarni   dasturlashda   interpretator
boshqaruvni   foydalanuvchi   sichqoncha   tugmasini   gipermatnli   o’tishga
“bosgandan” keyingina oladi. 
38  XULOSA 
Bugungi kunda veb-ilovalar va internet tizimlari hayotimizning 
ajralmas qismiga aylangan bo‘lib, ularda foydalanuvchi bilan tizim 
o‘rtasidagi muloqotning xavfsizligi va ishonchliligi muhim ahamiyatga 
ega. Shu nuqtai nazardan,  forma validatsiyasi  har qanday web-ilovada 
markaziy o‘rin tutadi. Forma validatsiyasi deganda foydalanuvchi 
tomonidan kiritilgan ma’lumotlarni tekshirish va tizimga yuborilishidan 
oldin ularning to‘g‘ri, aniq va xavfsiz bo‘lishini ta’minlash tushuniladi. 
Ushbu jarayon nafaqat foydalanuvchi qulayligini oshiradi, balki tizimni 
zararli ma’lumotlardan himoya qiladi, xatoliklarni kamaytiradi va veb-
loyihaning umumiy sifatini yaxshilaydi. 
Forma validatsiyasi ikki asosiy bosqichda amalga oshiriladi:   client-
side (foydalanuvchi tomon)   va   server-side (server tomon)   validatsiya. Client-
side validatsiya foydalanuvchi brauzerida bajariladi va odatda JavaScript
yoki HTML5 yordamida amalga oshiriladi. Bu foydalanuvchi interfeysini
interaktiv   va   tezkor   qiladi,   foydalanuvchiga   kiritilgan   ma’lumotning
formatini   va   majburiy   maydonlarni   to‘g‘ri   ekanini   darhol   ko‘rsatadi.
Masalan,   elektron   pochta   manzili   yoki   telefon   raqami   formatining
to‘g‘riligini   tekshirish   shular   jumlasidandir.   Shu   bilan   birga,   client-side
validatsiya   xavfsizlik   nuqtai   nazaridan   yetarli   emas,   chunki
foydalanuvchi   yoki   xaker   JavaScript   kodini   o‘zgartirib   yoki   o‘chirib,
noto‘g‘ri ma’lumot yuborishi mumkin. Shu sababli, har doim   server-side
validatsiya ni   ham   amalga   oshirish   zarur.   Server-side   validatsiya   server
tomonidan qabul qilingan ma’lumotlarning xavfsizligi, to‘g‘riligi va tizim
talablariga   javob   berishini   tekshiradi.   Ushbu   bosqichda   murakkabroq
tekshiruvlar, shu jumladan ma’lumotlar bazasi bilan integratsiya, regex
orqali formatni aniqlash, maxsus xavfsizlik filtrlari ishlatiladi. 
Forma   validatsiyasining   samarali   ishlashi   uchun   turli
texnologiyalar   va   metodlardan   foydalanish   mumkin.   HTML5   form
atributlari   yordamida   oddiy   tekshiruvlar   (required,   pattern,   min,   max) amalga   oshiriladi,   bu   esa   foydalanuvchi   interfeysini   soddalashtiradi   va
tezkor natija beradi. Shu bilan birga,  JavaScript
39  yordamida   murakkabroq   validatsiya   mexanizmlari   ishlab   chiqish
mumkin:   masalan,   bir   nechta   maydonlar   orasidagi   bog‘lanishni
tekshirish,   foydalanuvchi   xatoliklarini   real   vaqtda   ko‘rsatish   va
avtomatik   to‘ldirish   funksiyalarini   yaratish.   Server   tomonida   esa   PHP,
Python, Node.js kabi backend texnologiyalari yordamida foydalanuvchi
ma’lumotlari   chuqurroq   va   xavfsizroq   tekshiriladi.   Shu   bilan   birga,
frameworklar   (masalan,   Django,   Laravel,   Express.js)   validatsiya
jarayonini   standartlashtirish   va   xavfsizlikni   oshirish   uchun   maxsus
funksiyalar va modullarni taklif qiladi. 
Forma validatsiyasi nafaqat foydalanuvchi ma’lumotlarini 
tekshirish bilan cheklanmaydi, balki tizimni turli  xavfsizlik tahdidlaridan 
himoya qilish da ham muhim rol o‘ynaydi. Xususan,  SQL Injection ,  Cross-
Site Scripting (XSS) ,  Cross-Site Request Forgery (CSRF)  kabi hujumlarga 
qarshi himoya qilish uchun validatsiya zarur. Misol uchun, 
foydalanuvchi tomonidan yuborilgan ma’lumotlarni to‘g‘ri sanitizatsiya 
qilmasdan, ma’lumotlar bazasiga yuborish tizimni sezilarli darajada 
zaiflashtiradi. Shu sababli, server-side validatsiya bilan birga 
ma’lumotlarni “escape” qilish, regex filtrlash va parametrik so‘rovlar 
(prepared statements) kabi texnikalar qo‘llaniladi. 
Amaliy jihatdan, forma validatsiyasi foydalanuvc
hi interfeysini
ng
samaradorligini   oshiradi.   Tekshirishlar   foydalanuvchiga   xatoliklarni
darhol ko‘rsatadi, noto‘g‘ri ma’lumot yuborish imkoniyatini kamaytiradi
va   foydalanuvchi   tajribasini   yaxshilaydi.   Masalan,   ro‘yxatdan   o‘tish
formasi, login yoki kontakt formalarida to‘liq va aniq ma’lumot kiritilishi
jarayonini soddalashtiradi. Shu bilan  birga, validatsiya  jarayonini to‘g‘ri
tashkil   etish   tizimning   ish   faoliyatini   optimallashtiradi,   serverga
ortiqcha  yuk  tushishini kamaytiradi va  foydalanuvchiga  qulay interfeys
yaratadi. 
Ish   davomida   olingan   natijalar   shuni   ko‘rsatadiki,   forma
validatsiyasi   jarayoni   samarali   bo‘lishi   uchun   client-side   va   server-side
validatsiya   uyg‘unligi   zarur .   Faqat   client-side   validatsiya   foydalanuvchi tajribasini   yaxshilasa,   server-side   validatsiya   tizimning   xavfsizligini
ta’minlaydi. 
40  FOYDALANILGAN ADABIYOTLAR 
1. W3C. HTML5 Forms and Validation.  World Wide Web 
Consortium. 
2. Mozilla Developer Network (MDN). Form Validation.
3. Flanagan, D. JavaScript: The Definitive Guide.  7th Edition. O’Reilly 
Media, 2020. 
4. Duckett, J. HTML and CSS: Design and Build Websites.  2nd Edition. 
Wiley, 2014. 
5. Duckett, J. JavaScript and JQuery: Interactive Front-End Web 
Development.  Wiley, 2014. 
6. Holzner, S. PHP: The Complete Reference.  McGraw-Hill Education, 2018.
7. Hubbard, A. Web Security for Developers.  Packt Publishing, 2021. 
8. Stuttard, D., Pinto, M. The Web Application Hacker's Handbook.  2nd 
Edition. Wiley, 2011. 
9. Feldman, L., Freeman, J. Learning React and Node.js Form Validation. 
O’Reilly, 2020. 
10. Redgate, N. SQL Injection Prevention Techniques.  InfoQ, 2019. 
11. Ganss, S. Client-Side Form Validation Best Practices.  Smashing 
Magazine, 2020. 
12. OWASP. OWASP Top 10: Web Application Security Risks.  2021. 
13. Keith, J. DOM Scripting: Web Design with JavaScript and the Document 
Object Model.  2nd Edition. Friends of ED, 2010. 
14. Krasner, M., Pope, S. A Description of Client-Server Validation 
Techniques.  ACM SIGSOFT, 2018. 
15. Souders, S. High Performance Web Sites: Essential Knowledge for Front-
End Engineers.  2nd Edition. O’Reilly Media, 2009. 
41

MUNDARIJA

KIRISH

I BOB. FORMA VALIDATSIYASINING NAZARIY ASOSLARI

1.1. Forma validatsiyasi tushunchasi va uning web ilovalardagi ahamiyati

1.2. Ma’lumotlarni tekshirish turlari va validatsiya tamoyillari

1.3. Klient tomon va server tomon validatsiyasining farqlari

II BOB. FORMA VALIDATSIYASINI AMALIY JORIY ETISH USULLARI

2.1. HTML5 yordamida forma validatsiyasini amalga oshirish

2.2. JavaScript orqali dinamik forma validatsiyasi

XULOSA

FOYDALANILGAN ADABIYOTLAR