# ബാങ്കിങ് ആപ്പ് നിർമ്മിക്കുക ഭാഗം 2: ലോഗിൻ & രജിസ്ട്രേഷൻ ഫോർം നിർമ്മിക്കുക
```mermaid
journey
title നിങ്ങളുടെ ഫോം വികസന യാത്ര
section HTML അടിസ്ഥാനം
ഫോം ഘടകങ്ങൾ മനസ്സിലാക്കുക: 3: Student
ഇൻപുട്ട് തരം പഠിക്കുക: 4: Student
ആക്സസിബിലിറ്റിിട്ടിൽ പ്രാവിണ്യം നേടുക: 4: Student
section JavaScript സംയോജനം
ഫോം സമർപ്പണം കൈകാര്യം ചെയ്യുക: 4: Student
AJAX സംവാദം നടപ്പിലാക്കുക: 5: Student
സെർവർ പ്രതികരണങ്ങൾ പ്രോസസ്സ് ചെയ്യുക: 5: Student
section പരിശോധനാ സംവിധാനങ്ങൾ
ബഹുസ്വര പരിശോധന നിർമ്മിക്കുക: 5: Student
ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്തുക: 5: Student
ഡാറ്റയുടെ അഖണ്ഡത ഉറപ്പുവരുത്തുക: 5: Student
```
## പ്രീ-ലെക്ചർ ക്വിസ്
[Pre-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/43)
ഓൺലൈനിൽ ഫോർം പൂരിപ്പിച്ച് നിങ്ങളുടെ ഇമെയിൽ ഫോർമാറ്റ് തള്ളി മറികടന്നിട്ടുണ്ടോ? അല്ലെങ്കിൽ സബ്മിറ്റ് കണ്ണി അമർത്തിയപ്പോഴെല്ലാ വിവരങ്ങളും നഷ്ടപ്പെട്ടിട്ടുണ്ടോ? ഇവിടെയുണ്ട് നാം എല്ലാവരും നേരിട്ട അനുഭവങ്ങൾ.
ഫോർമുകൾ നിങ്ങളുടെ ഉപയോക്താക്കളും ആപ്പിന്റെ പ്രവർത്തനങ്ങളും തമ്മിലുള്ള പാലമാണ്. വിമാനങ്ങളെത്തന്നെ സുരക്ഷിതമായി അവരുടെ ലക്ഷ്യസ്ഥാനത്തേക്ക് നയിക്കുന്ന വിമാന നിയന്ത്രകർ പോലുള്ള ചികിത്സാനിയമങ്ങൾ പോലെയാണ് നന്നായി രൂപകല്പ്പന ചെയ്ത ഫോറങ്ങൾ വ്യക്തമായ പ്രതികരണം നൽകുകയും ചെലവേറിയ പിഴവുകൾ തടയുകയും ചെയ്യുന്നത്. മോശമായ ഫോർമുകൾ, മറുവശത്ത്, തിരക്കുള്ള വിമാനത്താവളത്തിലെ തെറ്റായ ആശയവിനിമയത്തേക്കാൾ വേഗം ഉപയോക്താക്കളെ വിട്ടുമാറാൻ തുടങ്ങിയേക്കാം.
ഈ പാഠത്തിൽ, നിങ്ങളുടെ സ്റ്റാറ്റിക് ബാങ്കിങ് ആപ്പിനെ ഇന്ററാക്ടീവ് ആപ്പായി മാറ്റാം. ഉപയോക്തൃ ഇൻപുട്ട് വാലിഡേറ്റ് ചെയ്യുന്ന, സർവറുകളുമായി സംവദിക്കുന്ന, സഹായകരമായ പ്രതികരണം നൽകുന്ന ഫോർമുകൾ നിർമ്മിക്കാൻ പഠിക്കാം. ഇതിനെ നിങ്ങളുടെ ആപ്പിന്റെ ഫീച്ചറുകൾ നയിക്കാൻ ഉപയോക്താക്കളെ സഹായിക്കുന്ന കൺട്രോൾ ഇന്റർഫേസ് നിർമ്മിക്കുന്നതെന്ന് കരുതുക.
അവസാനത്തോടെ, വിജയത്തിനായി ഉപയോക്താക്കളെ മാന്ദ്യമാക്കാതെ നയിക്കുന്ന ഒരു പൂർത്തിയായ ലോഗിൻ & രജിസ്ട്രേഷൻ സിസ്റ്റം വാലിഡേഷൻ സഹിതം ഉണ്ടാകുമെന്ന് ഉറപ്പുവരുത്താം.
```mermaid
mindmap
root((ഫോം വികസനം))
HTML Foundation
Semantic Elements
Input Types
Accessibility
Label Association
User Experience
Validation Feedback
Error Prevention
Loading States
Success Messaging
JavaScript Integration
Event Handling
AJAX Communication
Data Processing
Error Management
Validation Layers
HTML5 Validation
Client-side Logic
Server-side Security
Progressive Enhancement
Modern Patterns
Fetch API
Async/Await
Form Data API
Promise Handling
```
## മുൻകൂട്ടി ആവശ്യശേഷികൾ
ഫോർമുകൾ നിർമ്മിക്കുന്നതിനു മുൻപ്, നിങ്ങൾക്ക് എല്ലാ ഘടകങ്ങളും ശരിയായി സജ്ജീകരിച്ചിട്ടുണ്ടോ എന്ന് ഉറപ്പാക്കാം. ഈ പാഠം മുൻ പാഠത്തിൽ നിന്ന് തുടരുമെങ്കിൽ, നിങ്ങൾ മുന്നോട്ട് പോയെങ്കിൽ ആദ്യം അടിസ്ഥാനങ്ങൾ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
### ആവശ്യമായ സജ്ജീകരണം
| ഘടകം | സ്ഥിതി | വിവരണം |
|-----------|--------|-------------|
| [HTML ടെംപ്ലേറ്റുകൾ](../1-template-route/README.md) | ✅ ആവശ്യമായതം | നിങ്ങളുടെ അടിസ്ഥാന ബാങ്കിങ് ആപ്പ് ഘടന |
| [Node.js](https://nodejs.org) | ✅ ആവശ്യമാണ് | സർവർക്ക് ജാവാസ്ക്രിപ്റ്റ് റൺടൈം |
| [ബാങ്ക് API സർവർ](../api/README.md) | ✅ ആവശ്യമായത് | ഡാറ്റാ സ്റ്റോറേജിന് ബാക്ക്എൻഡ് സേവനം |
> 💡 **ഡവലപ്പ്മെന്റ് ടിപ്പ്**: നിങ്ങൾ ഒരേസമയം രണ്ട് വേർതിരിച്ച സർവറുകൾ ഓടിക്കുന്നുണ്ട് – ഫ്രണ്ട് എന്റിനായി ഒരു ബാങ്കിങ് ആപ്പ്, ബാക്ക്എൻഡ് API-ക്കായി മറ്റുഒന്ന്. ഇത് യാഥാർത്ഥ്യവൽക്കരണ ഘടനയെ അനുകരിക്കുന്നു, ഫ്രണ്ട്എന്റ് & ബാക്ക്എൻഡ് സേവനങ്ങൾ സ്വതന്ത്രമായി പ്രവർത്തിക്കുമ്പോൾ.
### സർവർ కాన്ഫിഗറേഷൻ
**നിങ്ങളുടെ ഡവലപ്പ്മെന്റ് പരിസ്ഥിതി ഉൾപ്പെടുന്നത്:**
- **ഫ്രണ്ട്എൻഡ് സർവർ**: നിങ്ങളുടെ ബാങ്കിങ് ആപ്പ് സേവനം (പൊതുയായി പോർട്ട് `3000`)
- **ബാക്ക്എൻഡ് API സർവർ**: ഡാറ്റാ സംഭരണം & പുനരധിപതനം (പോർട്ട് `5000`)
- **ഇരുവർഗവും** സങ്കടങ്ങളില്ലാതെ ഒരുപോലെ പ്രവർത്തിക്കാവുന്നവ
**നിങ്ങളുടെ API കണക്ഷൻ ടെസ്റ്റ് ചെയ്യുക:**
```bash
curl http://localhost:5000/api
# പ്രതീക്ഷിച്ച പ്രതിക്കരണം: "ബാംക് API v1.0.0"
```
**API പതിപ്പിന്റെ പ്രതികരണം കാണുകയാണെങ്കിൽ, നിങ്ങൾ മുന്നോട്ട് പോകാൻ തയ്യാറാണ്!**
---
## HTML ഫോമുകളും കൺറോളുകളും മനസിലാക്കുക
HTML ഫോമുകൾ നിങ്ങളുടെ വെബ് ആപ്പുമായി ഉപയോക്താക്കൾ എങ്ങനെ സംവദിക്കുന്നു എന്നതാണ്. 19-ാം നൂറ്റാണ്ടിലെ ടെലിഗ്രാഫ് സംവിധാനത്തിന് സമാനമാണ് – ഉപയോക്തൃ ഉദ്ദേശവും ആപ്പ് പ്രതികരണവും തമ്മിലുള്ള ആശയവിനിമയ പ്രോട്ടോക്കോൾ. ചിന്താപൂർവം രൂപകല്പ്പന ചെയ്താൽ, പിഴവുകൾ പിടികൂടുന്നു, ഇൻപുട്ട് ഫോർമാറ്റിംഗ് നയിക്കുന്നു, സഹായക നിർദേശങ്ങൾ നൽകുന്നു.
ആധുനിക ഫോമുകൾ അടിസ്ഥാന ടെക്സ്റ്റ് ഇൻപുട്ടുകളേക്കാൾ സങ്കീർണമാണ്. HTML5 വൈശിഷ്ട്യമർന്ന ഇൻപുട്ട് തരം പരിചയപ്പെടുത്തിയത് - ഇമെയിൽ വാലിഡേഷൻ, നമ്പർ ഫോർമാറ്റിംഗ്, തീയതി തിരഞ്ഞെടുപ്പു തുടങ്ങി സ്വതന്ത്രമായി കൈകാര്യം ചെയ്യുന്നു. ഈ വികസനങ്ങൾ ആക്സസിബിലിറ്റിക്കും മൊബൈൽ ഉപയോഗ അനുഭവങ്ങൾക്കും ഗുണകരമാണ്.
### അനിവാര്യമായ ഫോർം ഘടകങ്ങൾ
**ഓരോ ഫോമിനും ആവശ്യമായ കെട്ടുകെട്ട് ഘടകങ്ങൾ:**
```html
```
**ഈ കോഡ് ചെയ്യുന്നത്:**
- **ഒരിക്കൽപ്പെടുത്തുന്നു** പ്രത്യേക ഐഡിയിൽ ഫോർം കണ്ടെയ്നർ
- **വ്യക്തമാക്കുന്നു** ഡാറ്റ സമർപ്പിക്കാൻ HTTP մեթഡ്
- **ബന്ധിപ്പിക്കുന്നു** ലേബലുകൾ ഇൻപുട്ടുകൾക്കൊപ്പം ആക്സസിബിലിറ്റിക്ക്
- **നിർവഹിക്കുന്നു** ഫോർം പ്രോസസ്സ് ചെയ്യാനുള്ള സബ്മിറ്റ് ബട്ടൺ
### ആധുനിക ഇൻപുട്ട് തരം & കഴിവുകൾ
| ഇൻപുട്ട് തരം | ഉപയോഗം | ഉദാഹരണം |
|------------|---------|---------------|
| `text` | പൊതുവായ ടെക്സ്റ്റ് എൻട്രി | `` |
| `email` | ഇമെയിൽ പരിശോധന | `` |
| `password` | മറഞ്ഞ ടെക്സ്റ്റ് എൻട്രി | `` |
| `number` | സംഖ്യ ഇൻപുട്ട് | `` |
| `tel` | ഫോൺ നമ്പറുകൾ | `` |
> 💡 **ആധുനിക HTML5 പ്രയോജനം**: പ്രത്യേക ഇൻപുട്ട് തരം ഉപയോഗിക്കുന്നത് സ്വയം വാലിഡേഷൻ, അനുയോജ്യമായ മൊബൈൽ കീബോർഡ്, മികച്ച ആക്സസിബിലിറ്റി പിന്തുണ നൽകുന്നു, അധിക ജാവാസ്ക്രിപ്റ്റ് ഇല്ലാതെ!
### ബട്ടൺ തരം & പ്രവർത്തനം
```html
```
**ബട്ടൺ തരം ചെയ്യുന്നത്:**
- **സബ്മിറ്റ് ബട്ടണുകൾ**: ഫോർം സമർപ്പനം ട്രിഗർ ചെയ്യുക, ഡാറ്റ എൻഡ്പോയിന്റിലേക്ക് അയയ്ക്കുക
- **റിസെറ്റ് ബട്ടണുകൾ**: എല്ലാ ഫീൽഡുകളും ആദ്യം നിലയിലേക്ക് വീണ്ടെടുക്കുക
- **രേദി ബട്ടണുകളും**: രീതി ഇല്ലാതെ പ്രവർത്തിച്ച്കാരണം കസ്റ്റം ജാവാസ്ക്രിപ്റ്റ് ആവശ്യമാണ്
> ⚠️ **പ്രധാന കുറിപ്പ്**: `` ഒരു സ്വയം അടയ്ക്കുന്ന ഘടകമാണ്, ക്ലോസിംഗ് ടാഗ് ആവശ്യമില്ല. ആധുനിക ശൈലി `` ഇത്തരമാണ് എഴുതുന്നത്, സ്ളാഷ് ഇല്ലാതെ.
### ലോഗിൻ ഫോർം നിർമ്മാണം
ഇപ്പോൾ ആധുനിക HTML ഫോർം പ്രാക്ടിസുകൾ പ്രദർശിപ്പിക്കുന്ന പ്രായോഗിക ലോഗിൻ ഫോമിനെ ഉണ്ടാക്കാം. അടിസ്ഥാന ഘടനയിൽ തുടക്കി ആക്സസിബിലിറ്റി സവിശേഷതകളും വാലിഡേഷനും കൂട്ടിച്ചേർക്കാം.
```html
Bank App
Login
```
**ഇവിടെ സംഭവിക്കുന്നത്:**
- **ഘടിപ്പിക്കുന്നു** സെമാന്റിക് HTML5 ഘടകങ്ങളെ കൈകാര്യം ചെയ്ത് ഫോർം അടിച്ചതായി
- **ഗ്രൂപ്പുചെയ്യുന്നു** പ്രസക്തമായ ഘടകങ്ങൾ `div` കണ്ടെയ്നർ ക്ലാസ്സുകൾ ഉപയോഗിച്ച്
- **ബന്ധിപ്പിക്കുന്നു** ലേബലുകളും ഇൻപുട്ടുകളും `for` & `id` ഉപയോഗിച്ച്
- **ചേർക്കുന്നു** ആധുനിക ഗുണങ്ങൾ പോലെ `autocomplete`, `placeholder` മെച്ചപ്പെട്ട UX നു
- **ഉള്ളടക്കുന്നു** `novalidate` ബ്രൗസർ ഡിഫോൾട്ട് മാറ്റി ജാവാസ്ക്രിപ്റ്റ് വാ്ലിഡേഷൻ നടത്താൻ
### ശരിയായ ലേബലുകളുടെ ശക്തി
**ആധുനിക വെബ് വികസനത്തിൽ ലേബലുകൾ എന്തുകൊണ്ട് പ്രധാനം:**
```mermaid
graph TD
A[ലേബൽ ഘടകം] --> B[സ്ക്രീൻ റീഡർ പിന്തുണ]
A --> C[ക്ലിക്ക് ലക്ഷ്യം വിപുലീകരണം]
A --> D[ഫോം പരിശ്രമം]
A --> E[എസ്ഇഒ ഗുണങ്ങൾ]
B --> F[എല്ലാ ഉപയോക്താക്കൾക്കും ലഭ്യമായ]
C --> G[മികച്ച മൊബൈൽ അനുഭവം]
D --> H[വ്യക്തമായ പിഴവ് സന്ദേശം]
E --> I[മികച്ച തിരച്ചിൽ റാങ്കിംഗ്]
```
**ശ്രദ്ധയോടെ ലേബലുകൾ നൽകുന്നത് ചെയ്യുന്നത്:**
- **സ്ക്രീൻ റീഡറുകൾക്ക്** ഫോർം ഫീൽഡുകൾ മികച്ച രീതിയിൽ പ്രഖ്യാപിക്കാൻ
- **ക്ലിക്കു പരിധി** വർദ്ധിപ്പിക്കുന്നു (ലേബൽ ക്ലിക്കുചെയ്യുമ്പോൾ ഇൻപുട്ടിൽ ഫോകസ്)
- **മൊബൈൽ ഉപയോഗം മെച്ചപ്പെടുത്തി** കൂടുതൽ ടച്ച് ടാർഗെറ്റുകൾ നൽകുന്നു
- **ഫോർം വാലിഡേഷൻ** സൗകര്യപ്രദം പിഴവ് സന്ദേശങ്ങളോടൊപ്പം
- **SEO മെച്ചപ്പെടുത്തുന്നു** ഫോർം ഘടകങ്ങളിൽ സെമാന്റിക് അർത്ഥം നൽകിയും
> 🎯 **ആക്സസിബിലിറ്റി ലക്ഷ്യം**: എല്ലാ ഫോർം ഇൻപുട്ടിനും അനുബന്ധമായ ലേബൽ വേണം. ഈ ലളിതമായ പാടവ് എല്ലാ ഉപയോക്താക്കൾക്കും, വിവിധ കഴിവുകൾ ഉള്ളവർക്കും നിങ്ങളുടെ ഫോമുകൾ പ്രയോജനപ്രദമാക്കും, അനുഭവം മെച്ചപ്പെടുത്തും.
### രജിസ്ട്രേഷൻ ഫോർം നിർമ്മാണം
പൂർണ്ണ ഉപയോക്തൃ അക്കൗണ്ട് സൃഷ്ടിക്കുവാൻ രജിസ്ട്രേഷൻ ഫോർത്തിൽ കൂടുതൽ വിശദ വിവരങ്ങൾ ആവശ്യമാണ്. മുഖ്യ ആധുനിക HTML5 സവിശേഷതകളും വളർത്തിയ ആക്സസിബിലിറ്റി സവിശേഷതകളും ഉൾപ്പെടുത്താം.
```html
Register
```
**ഇവിടെ ചെയ്തു:**
- **ഫീൽഡുകൾ** ഓരോന്നും കണ്ടെയ്നർ ഡിവുകളിൽ ക്രമീകരിച്ച് മെച്ചപ്പെട്ട ലേ ഔട്ടിനായി
- **ഉപയോഗിച്ചു** അനുയോജ്യമായ `autocomplete` ബ്രൗസർ ഓട്ടോഫിൽ പിന്തുണയ്ക്ക്
- **ഉൾപ്പെടുത്തിയ** ഉപയോക്തൃ ഇൻപുട്ട് നയിക്കാൻ ഉപകാരപ്രദമായ പ്ലേര്ഹോൾഡർ ടെക്സ്റ്റ്
- **നൽകി** യുക്തിപരമായ ഡീഫോൾറ്റ് മൂല്യം `value` ഉപയോഗിച്ച്
- **പ്രയോഗിച്ചു** വാലിഡേഷൻ പ്രവർത്തനങ്ങൾ `required`, `maxlength`, `min`
- **ഉപയോഗിച്ചു** ബേലൻസ് ഫീൽഡിനായ `type="number"` ഇൽ ഡെസിമൽ പിന്തുണ കൂടെ
### ഇൻപുട്ട് തരം & പ്രവർത്തനം വിശകലനം
**ആധുനിക ഇൻപുട്ട് തരം കൂടുതൽ കഴിവുകൾ നൽകുന്നു:**
| സവിശേഷത | പ്രയോജനം | ഉദാഹരണം |
|---------|---------|----------|
| `type="number"` | മൊബൈൽ സംഖ്യ കീബോർഡ് | ലളിതമായ ബാലൻസ് ഇൻപുട്ടിലേക്ക് |
| `step="0.01"` | ഡെസിമൽ നിർണ്ണയം | കറൻസിയിൽ സെന്റുകൾ അനുവദിക്കുന്നു |
| `autocomplete` | ബ്രൗസർ ഓട്ടോഫിൽ | ഫോമുകൾ വേഗത്തിൽ പൂരിപ്പിക്കാൻ |
| `placeholder` | പ്രസ്താവനാത്മക സൂചനകൾ | ഉപയോക്താവിന്റെ പ്രതീക്ഷകൾ നയിക്കുന്നു |
> 🎯 **ആക്സസിബിലിറ്റി വെല്ലുവിളി**: ഫോമകൾ കീബോർഡ് മാത്രം ഉപയോഗിച്ച് സംവഹിക്കാൻ ശ്രമിക്കുക! `Tab` ഉപയോഗിക്കുക ഫീൽഡുകൾക്കിടയിൽ പോകാൻ, `Space` ബോക്സുകൾ പരിശോധിക്കാൻ, `Enter` സമർപ്പിക്കാൻ. ഇത് സ്ക്രീൻ റീഡർ ഉപയോക്താക്കൾ ഫോമുകൾക്ക് എങ്ങനെ സമീപിക്കുന്നു എന്ന് മനസ്സിലാക്കാൻ സഹായിക്കും.
### 🔄 **ഫലിതപരമായ പരിശോധന**
**ഫോം അടിസ്ഥാന سمجھല്:**
ജാവാസ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാതെ മുൻപ് ഉറപ്പാക്കുക:
- ✅ സെമാന്റിക് HTML ആക്സസിബിള് ഫോമുകൾ സൃഷ്ടിക്കുന്നു
- ✅ ഇൻപുട്ട് തരം മൊബൈൽ കീബോർഡ് & വാലിഡേഷന് പ്രാധാന്യം
- ✅ ലേബലുകളും ഫോർം കൺട്രോളുകളും ബന്ധം
- ✅ ഫോർം അറ്റ്രിബ്യൂട്ടുകൾ ബ്രൗസർ ഡിഫോൾട്ട് പ്രവർത്തനത്തെ എങ്ങനെ ബാധിക്കുന്നു
**ത്വരിത സ്വയം പരിശോദനം**: ജാവാസ്ക്രിപ്റ്റ് ഇല്ലാതെ ഫോർം സമർപ്പിച്ചാൽ എന്ത് സംഭവിക്കും?
*ഉത്തരം: ബ്രൗസർ ഡിഫോൾട്ട് സമർപ്പണം നടത്തും, സാധാരണയായി ആക്ഷൻ URL-ൽ റീഡയറക്ട് ചെയ്യും*
**HTML5 ഫോർം ഗുണങ്ങൾ**:
- **അകമ്പടി വാലിഡേഷൻ**: സ്വതന്ത്ര ഇമെയിൽ & നമ്പർ ഫോർമാറ്റ് പരിശോധന
- **മൊബൈൽ സൗഹൃദം**: അനുസൃത കീബോർഡുകൾ
- **ആക്സസിബിലിറ്റി**: സ്ക്രീൻ റീഡർ പിന്തുണ & കീബോർഡ് നയനം
- **പ്രോഗ്രസീവ് എൻഹാൻസ്മെന്റ്**: ജാവാസ്ക്രിപ്റ്റ് ഇല്ലാതെ പോലും പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്നത്
## ഫോർം സമർപ്പിക്കൽ രീതികൾ മനസിലാക്കുക
ആയിരിക്കും അടുത്തുള്ളപ്പോൾ, അപേക്ഷ ഫോർം പൂരിപ്പിച്ച് സബ്മിറ്റ് ചെയ്തപ്പോൾ, ആ ഡാറ്റ എവിടെ പോകുന്നു – സാധാരണയായി ഒരു സർവറിലേക്ക് പോകും, അത് ഡാറ്റയെ സംരക്ഷിക്കുന്നു. ഇത് വിവിധ രീതികളിൽ നടക്കാം, ശരിയായ ഒരു വഴిని തിരഞ്ഞെടുക്കുന്നത് ഭാവിയിൽ സുഖകരമാക്കും.
സബ്മിറ്റ് ബട്ടൺ ഞെക്കുമ്പോൾ എന്ത് സംഭവിക്കുന്നു എന്ന് നോക്കാം.
### ഡിഫോൾട്ട് ഫോർം പ്രവർത്തനം
ആദ്യം, അടിസ്ഥാന ഫോർം സമർപ്പണം എന്ത് സംഭവിക്കുന്നു എന്നും നോക്കുക:
**നിങ്ങളുടെ നിലവിലെ ഫോമുകൾ പരീക്ഷിക്കുക:**
1. നിങ്ങളുടെ ഫോമിൽ *Register* ബട്ടൺ അമർത്തുക
2. ബ്രൗസറിന്റെ അഡ്രസ് ബാറിലെ മാറ്റം ശ്രദ്ധിക്കുക
3. പേജ് റീലോഡ് ആകുകയും URL-ൽ ഡാറ്റ കാണപ്പെടുകയും ചെയ്യുന്നുവെന്ന് ശ്രദ്ധിക്കുക

### HTTP മെഥഡുകൾ താരതമ്യം
```mermaid
graph TD
A[ഫോം സമർപ്പിക്കൽ] --> B{HTTP രീതി}
B -->|GET| C[URL-ൽ ഡാറ്റ]
B -->|POST| D[അർജിത ദേഹം ഡാറ്റ]
C --> E[അഡ്രസ് ബാറിൽ കാണപ്പെടുന്നു]
C --> F[പരിമിത ഡാറ്റ വലുപ്പം]
C --> G[ബുക്ക്മാർക്കുചെയ്യാവുന്നത്]
D --> H[URL-ൽ നിന്ന് മറച്ചുകാഷ്]
D --> I[വലിയ ഡാറ്റ ശേഷി]
D --> J[കൂടുതൽ സുരക്ഷിതം]
```
**വ്യത്യാസങ്ങൾ മനസ്സിലാക്കുക:**
| മെഥഡ് | ഉപയോഗം | ഡാറ്റ സ്ഥലം | സുരക്ഷാ നില | വലിപ്പ പരിധി |
|--------|----------|---------------|----------------|-------------|
| `GET` | തിരയൽ, ഫിൽറ്ററുകൾ | URL പാരാമീറ്ററുകൾ | താഴ്ന്നത് (കാണാവുന്നത്) | ~2000 അക്ഷരങ്ങൾ |
| `POST` | ഉപയോക്തൃ അക്കൗണ്ടുകൾ, സംവേദനാത്മക ഡാറ്റ | അഭ്യർത്ഥന ശരീരം | ഉയർന്നത് (മറഞ്ഞത്) | യഥാർത്ഥപരിധിയില്ല |
**പ്രധാന വ്യത്യാസങ്ങൾ:**
- **GET**: ഫോർം ഡാറ്റ URL ക്വറി പാരാമീറ്ററുകളായി ചേർക്കുന്നു (തിരയൽ പ്രക്രിയകൾക്ക് അനുയോജ്യം)
- **POST**: ഡാറ്റ അന്വേഷണം ശരീരത്തിലേക്ക് ഉൾക്കൊള്ളുന്നു (സർവേദനാത്മക വിവരങ്ങൾക്ക് പ്രധാനമാണ്)
- **GET-ന് പരിമിതികൾ**: വലിപ്പ പരിധി, കാഴ്ച, ബ്രൗസർ ചരിത്രം
- **POST-ന് ആനുകൂല്യങ്ങൾ**: വലിയ ഡാറ്റ കൈകാര്യം ചെയ്യൽ, സ്വകാര്യത, ഫയൽ അപ്ലോഡ് പിന്തുണ
> 💡 **മിക്കവ് നല്ലതാകേണം**: തിരയൽ ഫോമുകൾക്ക് GET ഉപയോഗിക്കുക (ഡാറ്റ ഉയർത്തൽ), രജിസ്ട്രേഷൻ, ലോഗിൻ തുടങ്ങിയതിനായി POST ഉപയോഗിക്കുക.
### ഫോർം സമർപ്പിക്കൽ ക്രമീകരിക്കൽ
നിങ്ങളുടെ രജിസ്ട്രേഷൻ ഫോർം POST മെഥഡ് ഉപയോഗിച്ച് ബാക്ക്എൻഡ് API-യുമായി ശരിയായി ആശയവിനിമയം നടത്തും രീതിയിൽ ക്രമീകരിക്കാം:
```html
```
**വർദ്ധിപ്പിച്ച സാധുത പരിശോധനിന്റെ മനസ്സിലാക്കൽ:**
- **ആവശ്യമായ ഫീൽഡ് സൂചനകളുമായി** സംയോജിപ്പിക്കുന്നു
- **ഫോർമാറ്റ് സാധുതക്കായി** `pattern` ആട്രിബ്യൂട്ടുകൾ ഉൾപ്പെടുത്തുന്നു
- **ആക്സസിബിലിറ്റി, ടൂൾടിപ്പുകൾക്കായി** `title` ആട്രിബ്യൂട്ടുകൾ നൽകുന്നു
- **ഉപയോക്തൃ ഇൻപുട്ട് വഴി പിന്തുണയ്ക്കാൻ** സഹായക വാചകം ചേർക്കുന്നു
- **മികച്ച ആക്സസിബിലിറ്റിക്ക്** സെമാന്റിക് HTML ഘടന ഉപയോഗിക്കുന്നു
### ഉയർന്ന നിലവാരത്തിലുള്ള സാധുത പരിശോധന നിയമങ്ങൾ
**പ്രത്യേകമുള്ള സാധുത നിയമങ്ങൾ എന്തു നടത്തുന്നു:**
| ഫീൽഡ് | സാധുത നിയമങ്ങൾ | ഉപയോക്തൃ ഗുണം |
|-------|------------------|--------------|
| യൂസർനെയിം | `required`, `minlength="3"`, `maxlength="20"`, `pattern="[a-zA-Z0-9_]+"` | ശരിയായ, പ്രത്യേകം തിരിച്ചറിയാവുന്ന ഐഡന്റിഫയർ ഉറപ്പാക്കുന്നു |
| കറൻസി | `required`, `maxlength="3"`, `pattern="[A-Z$€£¥₹]+"` | സാധാരണ കറൻസി ചിഹ്നങ്ങൾ സ്വീകരിക്കുന്നു |
| ബാലൻസ് | `min="0"`, `step="0.01"`, `type="number"` | നെഗറ്റീവ് ബാലൻസ് തടയുന്നു |
| വിവരണം | `maxlength="100"` | യുക്തമായ നീള പരിധി |
### സാധുത പരിശോധന പെരുമാറ്റം പരീക്ഷിക്കുക
**പരീക്ഷണങ്ങൾക്ക്:**
1. **അപൂർണ്ണ ആവശ്യമായ ഫീൽഡുകൾ ഉള്ള രൂപം സബ്മിറ്റ് ചെയ്യു**
2. **3 അക്ഷരങ്ങൾക്കു താഴെയുള്ള യൂസർനെയിം നൽകുക**
3. **യൂസർനെയിം ഫീൽഡിൽ പ്രത്യേക ചിഹ്നങ്ങൾ ഉപയോഗിക്കാൻ ശ്രമിക്കുക**
4. **നെഗറ്റീവ് ബാലൻസ് നൽകുക**

**നിങ്ങൾ കാണുന്നതെന്താണെന്ന്:**
- **ബ്രൗസർ സ്വതന്ത്ര സാധുത സന്ദേശങ്ങൾ പ്രദർശിപ്പിക്കുന്നു**
- **`:valid` കോളും `:invalid` അധിഷ്ഠിതമായ സ്റ്റൈലിംഗ് മാറ്റങ്ങൾ**
- **സകല സാധുതകൾ പാസ്സാകുന്നതുവരെ ഫോർം സബ്മിഷൻ തടയുന്നു**
- **സ്വയം ഫോക്കസ് ആദ്യം തെറ്റായ ഫീൽഡിലേയ്ക്ക് മാറുന്നു**
### ക്ലയന്റ്-സൈഡ് vs സെർവർ-സൈഡ് സാധുത പരിശോധന
```mermaid
graph LR
A[ക്ലയന്റ്-സൈഡ് වලിഡേഷന്] --> B[തത്സമയ ഫീഡ്ബാക്ക്]
A --> C[ഉത്തമ UX]
A --> D[സര്വര് ലോഡ് കുറവ്]
E[സര്വര്-സൈഡ് വെരിഫിക്കേഷന്] --> F[സുരക്ഷ]
E --> G[ഡേറ്റാ സമഗ്രത]
E --> H[ബിസിനസ് നിയമങ്ങള്]
A -.-> I[രണ്ടും ആവശ്യമാണ്]
E -.-> I
```
**രണ്ടു പാളികളും ആവശ്യമായ കാരണം:**
- **ക്ലയന്റ്-സൈഡ് സാധുത പരിശോധന**: ഉടൻ പ്രതികരണം നൽകുന്നു, ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്തുന്നു
- **സെർവർ-സൈഡ് സാധുത പരിശോധന**: സുരക്ഷ ഉറപ്പാക്കുകയും സങ്കീർണ്ണ ബിസിനസ് നിയമങ്ങൾ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു
- **കൂട്ടിച്ചേർത്ത സമീപനം**: ശക്തമായ, ഉപയോക്തൃ സൗഹൃദമുള്ള, സുരക്ഷിത ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുന്നു
- **പ്രോഗ്രസീവ് എൻഹാൻസ്മെന്റ്**: ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്യമാകുമ്പോഴും പ്രവർത്തിക്കുന്നു
> 🛡️ **സുരക്ഷാ ഓർമപ്പെടുത്തൽ**: ക്ലയന്റ്-സൈഡ് സാധുത പരിശോധനം മാത്രം എപ്പോഴും വിശ്വസിക്കരുത്! ഒറ്റപ്പാടുള്ളർ ഈ പരിശോധനകൾ മറികടക്കാമെന്ന് അറിയണം, അക്കാര്യത്തിൽ സുരക്ഷയ്ക്ക് സെർവർ-പക്ഷം സാധുത പരിശോധന നിർണ്ണായകം.
### ⚡ **അടുത്ത 5 മിനിറ്റിൽ നിങ്ങൾ ചെയ്യാവുന്നത്**
- [ ] നിങ്ങളുടെ ഫോം തെറ്റായ ഡാറ്റയോടെ ടെസ്റ്റ് ചെയ്ത് സാധുത സന്ദേശങ്ങൾ കണ്ടു നോക്കുക
- [ ] ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്യമാക്കി ഫോം സബ്മിറ്റ് ചെയ്ത് HTML5 സാധുത പരിശോധന കാണുക
- [ ] ബ്രൗസർ ഡെവ് ടൂൾസ് തുറന്ന് സെർവറിലേക്ക് പോകുന്ന ഫോർം ഡാറ്റ പരിശോധിക്കുക
- [ ] വ്യത്യസ്ത ഇൻപുട്ട് തരങ്ങൾ പരീക്ഷിച്ച് മൊബൈൽ കീബോർഡ് മാറ്റങ്ങൾ കാണുക
### 🎯 **ഈ മണിക്കൂറിൽ നിങ്ങൾ ചെയ്യാനാകുന്നത്**
- [ ] പാഠശേഷം ക്വിസ് പൂർത്തിയാക്കി ഫോർം കൈകാര്യം സമ്പ്രദായങ്ങൾ മനസ്സിലാക്കുക
- [ ] യഥാർത്ഥ സമയ ഫീഡ്ബാക്ക് ഉള്ള സമഗ്ര സാധുത പരിശോധന പരീക്ഷിക്കുക
- [ ] CSS സ്റ്റൈലിംഗ് ചേർത്ത് പ്രൊഫഷണൽ രൂപത്തിലുള്ള ഫോമുകൾ സൃഷ്ടിക്കുക
- [ ] ഡ്യൂപ്ലിക്കേറ്റ് യൂസർനെയിംകൾക്കും സെർവർ പിശകുകൾക്കും തെറ്റ് കൈകാര്യനം ചേർക്കുക
- [ ] പാസ്സ്വേർഡ് സ്ഥിരീകരണ ഫീൽഡുകൾ ചേർക്കുകയും പൊരുത്തപ്പെടുന്ന പരിശോധന നടത്തുക
### 📅 **നിങ്ങളുടെ ആഴ്ച ലംഘിച്ച ഫോർം മാസ്റ്ററി യാത്ര**
- [ ] പ്രഗത്ഭതയേറിയ ഫീച്ചറുകൾ ഉള്ള പൂർണ്ണമായ ബാങ്കിംഗ് ആപ്പ് നിർമ്മിക്കുക
- [ ] പ്രൊഫൈൽ ചിത്രങ്ങൾ അല്ലെങ്കിൽ രേഖകൾ അപ്ലോഡ് ചെയ്യാനുള്ള പ്രവർത്തനങ്ങൾ നടപ്പാക്കുക
- [ ] പുരോഗതി സൂചികകളും സംസ്ഥാന നിയന്ത്രണവും ഉള്ള മൾട്ടി-സ്റ്റെപ്പ് ഫോമുകൾ ചേർക്കുക
- [ ] ഉപയോക്തൃ തിരഞ്ഞെടുപ്പിനെ അടിസ്ഥാനമാക്കി രൂപങ്ങൾ പ്രതിരൂപിപ്പിക്കുന്ന ഡൈനാമിക് ഫോമുകൾ സൃഷ്ടിക്കുക
- [ ] മെച്ചപ്പെട്ട ഉപയോക്തൃ അനുഭവത്തിനായി ഫോർം ഓട്ടോസേവ്, റിക്കവറി സംവിധാനം നടപ്പാക്കുക
- [ ] ഇമെയിൽ സ്ഥിരീകരണം, ഫോൺ നമ്പർ ഫോർമാറ്റിംഗ് പോലുള്ള ഉയർന്ന ശരിതപ്പുള്ള സാധുത ചേർക്കുക
### 🌟 **നിങ്ങളുടെ മാസം നീണ്ട ഫ്രണ്ട്എന്റ് വികസന മാസ്റ്ററി**
- [ ] നിലവാരുള്ള തർക്കങ്ങൾ, പ്രവാഹങ്ങൾ, ലോജിക്كلاتുമായി സങ്കീർണ്ണ ഫോർം ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുക
- [ ] വേഗത്തിലുള്ള വികസനത്തിനായി ഫോർം ലൈബ്രറികളും ഫ്രെയിംവർക്കുകളും പഠിക്കുക
- [ ] ആക്സസിബിലിറ്റി മാർഗനിർദേശങ്ങളും ഉൾക്കൊള്ളുന്ന ഡിസൈൻ സിദ്ധാന്തങ്ങളും മികവുറ്റ രീതിയിൽ അഭ്യസിക്കുക
- [ ] ആഗോള ഫോമുകൾക്കായി അന്തർദേശീയവൽക്കരണം, കമ്മ്യൂണിക്കേഷൻ പാടവം വരുത്തുക
- [ ] പുനരുപയോഗയോഗ്യമായ ഫോർം ഘടക ലൈബ്രറികൾ, ഡിസൈൻ സിസ്റ്റങ്ങൾ സൃഷ്ടിക്കുക
- [ ] ഓപ്പൺ സോഴ്സ് ഫോർം പ്രോജക്റ്റുകളിൽ സംഭാവന നൽകി മികച്ച പ്രവൃത്തികളുമായി പങ്കുവെക്കുക
## 🎯 നിങ്ങളുടെ ഫോർം ഡവലപ്പ്മെന്റ് മാസ്റ്ററി ടൈംലൈൻ
```mermaid
timeline
title ഫോം വികസനവും ഉപയോക്തൃ അനുഭവ പഠന പുരോഗതിയും
section HTML അടിസ്ഥാനങ്ങൾ (15 മിനിറ്റ്)
സെമാന്റിക് ഫോമുകൾ: ഫോം ഘടകങ്ങൾ
: ഇൻപുട്ട് തരം
: ലേബലുകൾ и ആക്സസിബിലിറ്റി
: പ്രോഗ്രസീവ് എൻഹാൻസ്മെന്റ്
section ജാവാസ്ക്രിപ്റ്റ് ഇൻറഗ്രേഷൻ (25 മിനിറ്റ്)
ഇവന്റ് ഹാൻഡ്ലിംഗ്: ഫോം സമർപ്പണം
: ഡാറ്റ ശേഖരണം
: AJAX കമ്മ്യൂണിക്കേഷൻ
: Async/await പാറ്റേണുകൾ
section വാലിഡേഷൻ സിസ്റ്റങ്ങൾ (35 മിനിറ്റ്)
മൾട്ടി-ലെയർ സുരക്ഷ: HTML5 വാലിഡേഷൻ
: ക്ലയന്റ്-സൈഡ് ലോഗിക്
: സര്വര്-സൈഡ് സ്ഥിരീകരണം
: പിശക് കൈകാര്യംചെയ്യൽ
section ഉപയോക്തൃ അനുഭവം (45 മിനിറ്റ്)
ഇന്റർഫേസ് പൊളിഷ്: ലോഡിംഗ് സ്റ്റേറ്റുകൾ
: വിജയം സന്ദേശം
: പിശക് ഗതിഗതി
: ആക്സസിബിലിറ്റി സവിശേഷതകൾ
section അഡ്വാൻസ്ഡ് പാറ്റേണുകൾ (1 ആഴ്ച)
പ്രൊഫഷണൽ ഫോമുകൾ: ഡയനാമിക് വാലിഡേഷൻ
: മൾട്ടി-സ്റ്റപ്പ് വർക്ക്ഫ്ലോകൾ
: ഫയൽ അപ്ലോഡുകൾ
: റിയൽ-ടൈം ഫീഡ്ബാക്ക്
section എന്റർപ്രൈസ് പ്രാവീണ്യം (1 മാസം)
പ്രൊഡക്ഷൻ അപ്ലിക്കേഷനുകൾ: ഫോം ലൈബ്രറികൾ
: ടെസ്റ്റിങ് നയങ്ങൾ
: പ്രകടനം മെച്ചപ്പെടുത്തൽ
: സുരക്ഷ മികച്ച പ്രാക്ടിസുകൾ
```
### 🛠️ നിങ്ങളുടെ ഫോർം ഡവലപ്പ്മെന്റ് ടൂൾകിറ്റ് സംഗ്രഹം
ഈ പാഠം പൂർത്തിയാക്കിയാൽ നിങ്ങൾ ഇപ്പോൾ കൈപ്പറ്റിയിരിക്കുന്നു:
- **HTML5 ഫോമുകൾ**: സെമാന്റ്റിക് ഘടന, ഇൻപുട്ട് തരം, ആക്സസിബിലിറ്റി ഫീച്ചറുകൾ
- **ജാവാസ്ക്രിപ്റ്റ് ഫോർം കൈകാര്യം**: ഇവന്റ് മാനേജ്മെന്റ്, ഡാറ്റ ശേഖരണം, AJAX സംവാദം
- **സാധുത അടിസ്ഥാനഘടന**: സുരക്ഷക്കും ഉപയോക്തൃ അനുഭവത്തിനും മൾട്ടി-ലെവൽ സാധുത പരിശോധന
- **അസിങ്ക്രണസ് പ്രോഗ്രാമിംഗ്**: ആധുനിക Fetch API, async/await പാറ്റേണുകൾ
- **പിശക് നിയന്ത്രണം**: സമഗ്രമായ പിശക് കൈകാര്യം, ഉപയോക്തൃ ഫീഡ്ബാക്ക് സിസ്റ്റങ്ങൾ
- **ഉപയോക്തൃ അനുഭവ ഡിസൈൻ**: ലോഡിംഗ് ഘട്ടങ്ങൾ, വിജയ/പിശക് സന്ദേശങ്ങൾ, പിശക് പുനരുദ്ധാരം
- **പ്രോഗ്രസീവ് എൻഹാൻസ്മെന്റ്**: എല്ലു ബ്രൗസറുകളിലും സജ്ജമായ ഫോമുകൾ
**യഥാർത്ഥ ലോക ആപ്ലിക്കേഷനുകൾ**: നിങ്ങളുടെ ഫോർം ഡവലപ്പ്മെന്റ് കഴിവുകൾ നേരിട്ട് ബാധിക്കുന്നു:
- **ഇ-കൊമേഴ്സ് ആപ്ലിക്കേഷനുകൾ**: ചതുപ്പുചെയ്യൽ പ്രക്രിയകൾ, അക്കൗണ്ട് രജിസ്ട്രേഷൻ, പേയ്മെന്റ് ഫോമുകൾ
- **എന്റർപ്രൈസ് സോഫ്റ്റ്വെയർ**: ഡാറ്റ എൻട്രി സിസ്റ്റങ്ങൾ, റിപ്പോർട്ടിംഗ് ഇന്റർഫേസുകൾ, പ്രവാഹ ആപ്ലിക്കേഷനുകൾ
- **കണ്ടന്റ് മാനേജ്മെന്റ്**: പ്രസിദ്ധീകരണ പ്ലാറ്റ്ഫോമുകൾ, ഉപയോക്തൃ സൃഷ്ടിച്ച ഉള്ളടക്കം, അഡ്മിനിസ്ട്രേറ്റീവ് ഇന്റർഫേസുകൾ
- **ഫിനാൻഷ്യൽ ആപ്ലിക്കേഷനുകൾ**: ബാങ്കിംഗ് ഇന്ററൈസുകൾ, നിക്ഷേപ പ്ലാറ്റ്ഫോമുകൾ, ഇടപാട് സിസ്റ്റങ്ങൾ
- **ഹെൽത്ത്കെയർ സിസ്റ്റങ്ങൾ**: രോഗി പോർട്ടലുകൾ, അപ്പോയിൻമെന്റ് ഷെഡ്യൂളിംഗ്, മെഡിക്കൽ രേഖ ഫോമുകൾ
- **വിദ്യാഭ്യാസ പ്ലാറ്റ്ഫോമുകൾ**: കോഴ്സ് രജിസ്ട്രേഷൻ, ആസെസ്മെന്റ് ടൂൾസ്, ലേണിംഗ് മാനേജ്മെന്റ്
**പ്രൊഫഷണൽ അഭിനിവേശങ്ങൾ**: നിങ്ങൾക്കു കഴിയും:
- **സൗകര്യമുള്ള ഫോമുകൾ ഡിസൈൻ ചെയ്യുക** - വൈകല്യം ഉള്ളവ ഉൾപ്പെടെ എല്ലാ ഉപയോക്താക്കൾക്കും ഉപയോഗപ്രദം
- **സുരക്ഷിതമായ ഫോർം സാധുത നടപ്പാക്കുക** - ഡാറ്റ അബദ്ധം, സുരക്ഷാ ദുർബലതകൾ തടയുന്നു
- **പ്രതികരിക്കുന്ന UI സൃഷ്ടിക്കുക** - വ്യക്തമായ ഫീഡ്ബാക്കും മാർഗനിർദ്ദേശവും നൽകുന്നു
- **ബ്രൗസർ ഡെവലപ്പർ ടൂളുകളും നെറ്റ്വർക്ക് വിശകലനവും ഉപയോഗിച്ച് സങ്കീർണ്ണ ഫോർം ഇടപെടലുകൾ ഡീബഗ് ചെയ്യുക**
- **ക്ഷമതയുള്ള ഡാറ്റ കൈകാര്യം, സാധുത നിരീക്ഷണ തന്ത്രങ്ങളെക്കായി ഫോർം പ്രകടനം പ്രവര്ത്തനക്ഷമമാക്കുക**
**ഫ്രണ്ട്എന്റ് ഡവലപ്പ്മെന്റ് ആശയങ്ങൾ കൈവിട്ടു:**
- **ഇവന്റ്-ഡ്രിവൻ ഘടന**: ഉപയോക്തൃ ഇടപാട് കൈകാര്യം, പ്രതികരണം സംവിധാനങ്ങൾ
- **അസിന്ക്രോണസ് പ്രോഗ്രാമിംഗ്**: ബ്ലോക്ക് ചെയ്യാത്ത സെർവർ സംവാദവും പിശക് കൈകാര്യംചെയ്യലും
- **ഡാറ്റ സാധുത**: ക്ലയന്റ്-സൈഡ്, സെർവർ-സൈഡ് സുരക്ഷയും സമഗ്രതയും
- **ഉപയോക്തൃ അനുഭവ ഡിസൈൻ**: ഉപയോക്താവിനെ വിജയത്തിലേക്ക് നയിക്കുന്ന സുനിരവധി ഇന്റർഫേസുകൾ
- **ആക്സസിബിലിറ്റി എഞ്ചിനീയർ**: വ്യത്യസ്ത ആവശ്യങ്ങളെ അനുയോജ്യമായി പ്രവർത്തിക്കുന്ന ഉൾക്കൊള്ളുന്ന ഡിസൈൻ
**അടുത്ത നില**: നിങ്ങൾക്ക് ആഴത്തിലുള്ള ഫോർം ലൈബ്രറികൾ, സങ്കീർണ്ണ സാധുത നിയമങ്ങൾ നടപ്പാക്കണമെങ്കിൽ, അല്ലെങ്കിൽ എന്റർപ്രൈസ് ഗ്രേഡ് ഡാറ്റ ശേഖരണ സംവിധാനങ്ങൾ നിർമ്മിക്കണമെങ്കിൽ സജ്ജരാണ്!
🌟 **പ്രാപ്തി നേടി**: നിങ്ങൾ പ്രൊഫഷണൽ സാധുത പരിശോധന, പിശക് കൈകാര്യനം, ഉപയോക്തൃ അനുഭവ മാതൃകകളുമായി ഒരു സമ്പൂർണ ഫോർം കൈകാര്യം സിസ്റ്റം നിർമ്മിച്ചു!
---
---
## GitHub Copilot ഏജന്റ് ചാലഞ്ച് 🚀
ഏജന്റ് മോഡ് ഉപയോഗിച്ച് താഴെ കാണുന്ന ചാലഞ്ച് പൂർത്തിയാക്കുക:
**വിവരണം:** രജിസ്ട്രേഷൻ ഫോർമിൽ സമഗ്രമായ ക്ലയന്റ്-സൈഡ് സാധുത പരിശോധനയും ഉപയോക്തൃ പ്രതികരണവും വർദ്ധിപ്പിക്കുക. ഈ ചാലഞ്ച് ഫോർം സാധുത, പിശക് കൈകാര്യനം, പരസ്പര പ്രവർത്തനാത്മക ഫീഡ്ബാക്കുമായി ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്താനുള്ള പരിശീലനം നൽകും.
**പ്രോംപ്ട്:** രജിസ്ട്രേഷൻ ഫോം പൂർണ്ണമായും ഫോർം സ്ഥിരീകരണ സംവിധാനമാക്കി സൃഷ്ടിക്കുക, ഇതിൽ ഉൾപ്പെടുന്നത്: 1) ഉപയോക്താവ് ടൈപ്പ് ചെയ്യുമ്പോൾ ഓരോ ഫീൽഡിനും സംവേദന-സമയം സ്ഥിരീകരണ പ്രതികരണം, 2) ഓരോ ഇൻപുട്ട് ഫീൽഡിന് താഴെ കസ്റ്റം സ്ഥിരീകരണ സന്ദേശങ്ങൾ, 3) പാസ്വേഡ് സ്ഥിരീകരണ ഫീൽഡ് മാച്ചിംഗ് സ്ഥിരീകരണത്തോടെ, 4) ദൃശ്യ സൂചനകൾ (സമാനമായ ഫീൽഡിനുള്ള പച്ച ചെക്ക്മാർക്കും തെറ്റ് ഫീൽഡിനുള്ള ചുവന്ന മുന്നറിയിപ്പുകൾക്ക്), 5) എല്ലാ സ്ഥിരീകരണങ്ങളും കടന്നുവന്ന ശേഷം മാത്രമേ സബ്മിറ്റ് ബട്ടൺ സജീവമാവൂ. HTML5 സ്ഥിരീകരണഗുണങ്ങൾ ഉപയോഗിക്കുക, പരിശോധനാ അവസ്ഥകൾ ക്ലാസ് ഉപയോഗിച്ച് സ്റ്റൈൽ ചെയ്യുക, മൾട്ടിഫംഗ്ഷണൽ പെരുമാറ്റം ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് സൃഷ്ടിക്കുക.
[agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) എന്നതിനെക്കുറിച്ച് കൂടുതൽ അറിയൂ.
## 🚀 ചാലഞ്ച്
ഉപയോക്താവ് ഇതിനകം നിലവിലുള്ള പക്ഷം, HTML-ൽ ഒരു പിശക് സന്ദേശം കാണിക്കുക.
ചെറിയൊരു സ്റ്റൈലിങ്ങ് ചെയ്ത് അവസാന ലോഗിൻ പേജ് നോക്കിനോക്കൂ:

## പോസ്റ്റ് ലക്ചർ ക്വിസ്
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/44)
## അവലോകനവും സ്വയംപഠനവും
ഡവലപ്പർമാർ അവരുടെ ഫോർം നിർമ്മാണ ശ്രമങ്ങളിൽ വളരെ സൃഷ്ടിപരമായ സമീപനം സ്വീകരിച്ചിട്ടുണ്ട്, പ്രത്യേകിച്ച് സ്ഥിരീകരണ തന്ത്രങ്ങൾ സംബന്ധിച്ച്. വ്യത്യസ്ത ഫോർം ഫ്ളോകളെക്കുറിച്ച് അറിവ് നേടാൻ [CodePen](https://codepen.com) പരിശോധിക്കുക; നിങ്ങൾക്ക് ചില രോചനയുള്ള, പ്രചോദനമാർന്ന ഫോമുകൾ കണ്ടെത്താനാകും.
## അസൈൻമെന്റ്
[Style your bank app](assignment.md)
---
**പരിഭവകര്യം**:
ഈ രേഖ AI പരിഭാഷ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് ഭാഷാന്തരപ്പെടുത്തപ്പെട്ടതാണ്. നിശ്ചിതത്വത്തിനായി ഞങ്ങൾ ശ്രമിച്ചിരിക്കുമ്പോഴും, സ്വയമേഖലാ (ഓട്ടോമേറ്റഡ്) പരിഭാഷകളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാൻ സാധ്യതയുള്ളതാണ്. പ്രാഥമികമായി, ഈ രേഖയുടെ മൂലഭാഷയിൽ ഉള്ള പതിപ്പ് അധികാരപരമായ ഉറവിടമായി കണക്കാക്കണമെന്നും ശ്രദ്ധിക്കുക. നിർണ്ണായക വിവരങ്ങൾക്കായി വിദഗ്ദ്ധമായ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന യാതൊരു തെറ്റിദ്ധാരണകളിനും ഞങ്ങൾ ഉത്തരവാദിയല്ല.