# Build a Banking App Part 2: Build a Login and Registration Form
```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
[Pre-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/43)
நீங்கள் ஆன்லைனில் ஒரு படிவத்தை பூர்த்தி செய்த பிறகு, உங்கள் ஈமெயில் வடிவத்தை நிராகரித்ததா? அல்லது சமர்ப்பிக்கையில் உங்கள் அனைத்து தகவல்களும் நீங்கள் இழந்துவிடுவதுண்டா? இத்தகைய சலசலப்பு அனுபவங்களை எல்லாம் நாங்கள் எதிர்கொண்டுள்ளோம்.
படிவங்கள் உங்கள் பயனர்களுக்கும் உங்கள் செயலியின் செயல்பாடுகளுக்கும் இடையேயான பாலமாக இருக்கும். ஏர்டிராஃபிக் கட்டுப்பாட்டாளர்கள் விமானங்களை பாதுகாப்பாக இலக்கிட வழி நடத்த பயன்படும் கவனமான நெறிமுறைகளைப் போல, நன்மையான வடிவமைப்புகளுடன் கூடிய படிவங்கள் தெளிவான கருத்துக்களை வழங்கி, செலவாலை தவிர்க்க உதவுகின்றன. மோசமான படிவங்கள், மாறாக, ஒரு கூட்டமான விமான நிலையத்தில் தவறான தொடர்பு போல விரைவில் பயனர்களை தள்ளி விடும்.
இந்த பாடத்தில், உங்கள் நிலையான வங்கியியல் செயலியை ஒரு பங்களிக்கும் செயலியாக மாற்றுவோம். பயனர் உள்ளீட்டை சரிபார்க்கும், சேவையகங்களுடன் தொடர்பு கொள்ளும் மற்றும் உதவித்திட்ட கருத்துக்களை வழங்கும் படிவங்களை உருவாக்க கற்போம். இது உங்கள் செயலியின் அம்சங்களை பயனர்கள் வழிநடத்த உதவும் கட்டுப்பாட்டு இடைமுகத்தை உருவாக்குவதாக நினைக்கலாம்.
முடிவில், பயனர்களை சலசலப்பிற்கு பதிலாக வெற்றியடைய வழிகாட்டும் சரிபார்ப்புடன் கூடிய முழுமையான உள்நுழைவு மற்றும் பதிவு முறை அமைப்பை நீங்கள் பெற்றிருப்பீர்கள்.
```mermaid
mindmap
root((வடிவமைப்பு மேம்பாடு))
HTML அடித்தளம்
பொருள் சார்ந்த கூறுகள்
உள்ளீடு வகைகள்
அணுகல் வசதி
லேபிள் தொடர்புத்தன்மை
பயனர் அனுபவம்
சரிபார்ப்பு பின்னூட்டம்
பிழை தடுப்பு
ஏற்றுதல் நிலைகள்
வெற்றி செய்தித்தாள்
JavaScript ஒருங்கிணைப்பு
நிகழ்வு கையாளுதல்
AJAX தொடர்பு
தரவு செயலாக்கம்
பிழை முகாமை
சரிபார்ப்புத் தளம்
HTML5 சரிபார்ப்பு
கிளையன்ட் பக்கம் மெய்முறைகள்
சேவையாளர் பக்கம் பாதுகாப்பு
முன்னேற்ற உயர்வு
நவீன வடிவங்கள்
Fetch API
Async/Await
Form Data API
Promise கையாளுதல்
```
## Prerequisites
படிவங்களை உருவாக்க ஆரம்பிப்பதற்கு முன், நீங்கள் எல்லா தேவைகளும் சரியாக அமைந்துள்ளதா என உறுதி செய்யலாம். இந்த பாடம் முந்தைய பாடத்தில் இருந்து தொடர்கிறது, ஆகவே நீங்கள் முன்கூட்டியே சென்றிருந்தால் முந்தைய அடிப்படைகளை முதலில் சரிபார்க்க விரும்பலாம்.
### Required Setup
| கூறு | நிலை | விளக்கம் |
|-----------|--------|-------------|
| [HTML Templates](../1-template-route/README.md) | ✅ Required | உங்கள் அடிப்படை வங்கியியல் செயலி அமைப்பு |
| [Node.js](https://nodejs.org) | ✅ Required | சேவையகத்துக்கான ஜாவாஸ்கிரிப்ட் ரன்டைம் |
| [Bank API Server](../api/README.md) | ✅ Required | தரவுக் காப்பகத்துக்கான பின்னணி சேவை |
> 💡 **Development Tip**: நீங்கள் ஒரே நேரத்தில் இரண்டு தனித்தனி சேவையகங்களை இயக்குவீர்கள் – ஒருவர் முன்பக்கம் வங்கி செயலிக்காக, மற்றொன்று பின்னணி API க்காக. இது உண்மையான உலகத் தொகுப்பை ஒத்துள்ளதானது, அங்கே முன்பக்கம் மற்றும் பின்னணி சேவைகள் சுயமாக இயங்குகின்றன.
### Server Configuration
**உங்கள் மேம்பாட்டு சூழல் ஏற்றுமதி செய்யும்:**
- **Frontend server**: உங்கள் வங்கி செயலியை வழங்கும் (தொலைபேசி `3000` போர்ட்)
- **Backend API server**: தரவு சேமிப்பையும் மீட்டெடுப்பையும் கையாளும் (போர்ட் `5000`)
- **இரு சேவையகங்களும்** முரண்பாடின்றி ஒரே நேரத்தில் இயங்க முடியும்
**உங்கள் API இணைப்பை சோதிக்கும் முறைகள்:**
```bash
curl http://localhost:5000/api
# எதிர்பார்க்கப்படும் பதில்: "வங்கி API v1.0.0"
```
**நீங்கள் API பதிப்பு பதிலை பார்த்தால், முன்னேற தயாராக உள்ளீர்கள்!**
---
## Understanding HTML Forms and Controls
HTML படிவங்கள் உங்கள் வலை செயலியுடன் பயனர்கள் தொடர்பு கொள்ளும் வழி ஆகும். 19ஆம் நூற்றாண்டில் தொலைதகவல் அமைப்பாக இருந்த போல் – இவை பயனர் நோக்கம் மற்றும் செயலியின் பதிலுக்கு இடையேயான தொடர்பு நெறிமுறைகள். பரிசீலனையுடன் வடிவமைக்கப்பட்டவை தவறுகளை பிடித்து, உள்ளீட்டு வடிவமைப்புக்கு வழி நடத்தி மற்றும் உதவி குறிப்பு வழங்குகின்றன.
நவீன படிவங்கள் அடிப்படை எழுத்து உள்ளீடுகளுக்கு மேலாக மிகவும் நுணுக்கமானவையாக இருக்கின்றன. HTML5 மின்னஞ்சல் சரிபார்ப்பு, எண் வடிவமைப்பு மற்றும் தேதி தேர்வு போன்ற சிறப்பு உள்ளீடு வகைகளை அறிமுகப்படுத்தியது. இந்த மேம்பாடுகள் அணுகல் திறன் மற்றும் மொபைல் பயனர் அனுபவத்திற்கு உதவுகின்றன.
### Essential Form Elements
**ஒவ்வொரு படிவத்திற்கும் தேவைப்படும் கட்டுமானக்கற்கள்:**
```html
```
**இந்த குறியீடு செய்கிறது:**
- **ஒரு** தனித்த அடையாளக் குறியீட்டுடன் படிவக் கன்டெய்னரை உருவாக்குகிறது
- **தரவு சமர்ப்பிக்க HTTP முறை** குறிப்பிடப்படுகிறது
- **அணுகல் விருப்பத்திற்கான லேபிள்கள்** உள்ளீடுகளுடன் இணைக்கப்படும்
- **படிவத்தை செயலாக்க** சமர்ப்பிக்கும் பொத்தானை வரையறுக்கிறது
### Modern Input Types and Attributes
| உள்ளீடு வகை | நோக்கம் | உதாரணம் |
|------------|---------|---------------|
| `text` | பொது எழுத்து உள்ளீடு | `` |
| `email` | மின்னஞ்சல் சரிபார்ப்பு | `` |
| `password` | மறைக்கப்பட்ட எழுத்து உள்ளீடு | `` |
| `number` | எண் உள்ளீடு | `` |
| `tel` | தொலைபேசி எண்கள் | `` |
> 💡 **Modern HTML5 Advantage**: குறிப்பிட்ட உள்ளீடுகளைக் கொண்டு தானாகவே சரிபார்ப்பு, பொருத்தமான மொபைல் விசைப்பலகைகள் மற்றும் சிறந்த அணுகல் திறன் ஆதரவை ஜாவாஸ்கிரிப்ட் இல்லாமலும் பெறலாம்!
### Button Types and Behavior
```html
```
**ஒவ்வொரு பொத்தானின் செயல்:**
- **சமர்ப்பிக்கும் பொத்தான்கள்**: படிவம் சமர்ப்பித்தல் மற்றும் குறிப்பிடப்பட்ட இடத்திற்கு தரவு அனுப்புதல்
- **மீட்டமைக்கும் பொத்தான்கள்**: படிவத்தின் அனைத்து தளங்களை ஆரம்ப நிலைக்கு மீட்டமைத்தல்
- **பொதுவான பொத்தான்கள்**: இயல்பான செயல் ஒன்றும் இல்லை; தனிப்பயன் ஜாவாஸ்கிரிப்ட் தேவையிருக்கும்
> ⚠️ **Important Note**: `` ஆகவே தனக்குத் தனியாக மூடும் பொருளாக உள்ளது. நவீன நடைமுறை slash இல்லாமல் `` என எழுதுவது.
### Building Your Login Form
இப்போது நவீன HTML படிவ நடைமுறைகளை காட்ட ஒரு நடைமுறை உள்நுழைவு படிவத்தை உருவாக்குவோம். அடிப்படை அமைப்புடன் ஆரம்பித்து படிப்படியாக அணுகல் திறன் மற்றும் சரிபார்ப்பு மாற்றங்களுடன் மேம்படுத்துவோம்.
```html
Bank App
Login
```
**இதில் நடக்கும் செயல்கள்:**
- **படிவத்தை semantic HTML5 கூறுக்களுடன் கட்டமைக்கிறது**
- **பொருந்தக்கூடிய கட்டளைகள் கொண்ட `div` கன்டெய்னர்களைப் பயன்படுத்தி இணைக்கிறது**
- **`for` மற்றும் `id` பண்புகளை உள்நுழைவு மற்றும் லேபிள் இணைப்பிற்கு பயன்படுத்துகிறது**
- **நவீன பண்புகள் `autocomplete`, `placeholder` போன்றவை UX மேம்பாட்டிற்கு சேர்க்கின்றன**
- **`novalidate` சேர்க்கப்பட்டுள்ளது, உலாவியின் இயல்புநிலை பார்வைகளை தவிர்த்து ஜாவாஸ்கிரிப்ட் மூலம் சரிபார்க்க**
### The Power of Proper Labels
**நவீன வலை வளர்ச்சிக்கான லேபிள்களின் முக்கியத்துவம்:**
```mermaid
graph TD
A[லேபிள் உருப்படி] --> B[திரை வாசகர் ஆதரவு]
A --> C[சாளர இலக்கு விரிவாக்கம்]
A --> D[படிவம் சரிபார்த்தல்]
A --> E[SEO நன்மைகள்]
B --> F[அனைத்து பயனாளர்களுக்கும் அணுகக்கூடியது]
C --> G[நன்று மொபைல் அனுபவம்]
D --> H[தெளிவான பிழை செய்தி]
E --> I[மிகமான தேடல் தரவரிசை]
```
**சரியான லேபிள்கள் செய்யும் வேலை:**
- **ஸ்கிரீன் ரீடர்களுக்கு தெளிவாக படிவத்தளங்களை அறிவிப்பது**
- **கிளிக்கக்கூடிய பரப்பை விரிவாக்குவதை (லேபிள் கிளிக் செய்தால் உள்ளீடு கவனம் இடம் பெறும்)**
- **பெரிய தொடுதிருக்களுடன் மொபைல் பயன்பாட்டை எளிதாக்கும்**
- **படிவ சரிபார்ப்புக்கு அர்த்தமுள்ள பிழை செய்திகளை வழங்கும்**
- **SEO மேம்பாட்டிற்கு படிவ கூறுகளுக்கு அர்த்தவயமான தகவலை வழங்கும்**
> 🎯 **Accessibility Goal**: ஒவ்வொரு படிவ உள்ளீட்டுக்கும் அணைத்து லேபிள் இருக்க வேண்டும். இது அனைத்துலக பயனர்களுக்கும், குறிப்பாக மாற்றுத் திறனாளிகளுக்கும் உங்கள் படிவங்களை பயன்படத்தி அனுபவத்தை மேம்படுத்தும்.
### Creating the Registration Form
பதிவு படிவம் முழுமையான பயனர் கணக்கை உருவாக்க விரிவான தகவல்களை தேவைப்படுத்துகிறது. நவீன HTML5 அம்சங்களுடன் மற்றும் அதிகரிக்கப்பட்ட அணுகல் திறன் கொண்டதாக அதை உருவாக்குவோம்.
```html
Register
```
**மேலே, நாம்:**
- **ஒரு சிறந்த வடிவமைப்பு மற்றும் துணுக்காக்கம் கொண்டவாறு ஒவ்வொரு நிலைதளத்தையும் `div` படையல்களில் ஒழுங்குபடுத்தினோம்**
- **உலாவி தானாக நிரப்ப உதவும் `autocomplete` பண்புகளை சேர்த்தோம்**
- **பயனர் உள்ளீட்டை வழிநடத்த உதவும் உதவிக்குறிப்புகளை சேர்த்தோம்**
- **`value` பண்பை பயன்படுத்தி பொருத்தமான இயல்புகளை அமைத்தோம்**
- **`required`, `maxlength`, மற்றும் `min` போன்ற சரிபார்ப்பு பண்புகளைச் சேர்த்தோம்**
- **மொத்த பாகத்திற்கு எனக்கான `type="number"` உடன் நுணுக்கக் கணக்கீடுகளும் சேர்க்கப்பட்டுள்ளது**
### Exploring Input Types and Behavior
**நவீன உள்ளீட்டு வகைகள் அதிக செயல்திறனுடன் கூடியவை:**
| அம்சம் | பயன் | உதாரணம் |
|---------|---------|----------|
| `type="number"` | மொபைலில் எண்ணக விசைப்பலகை | கணக்கு உள்ளீடு எளிதாக்கம் |
| `step="0.01"` | தசம புள்ளி துல்லிய கட்டுப்பாடு | பணத்தில் சென்ட்கள் சேர்க்க உதவல் |
| `autocomplete` | உலாவி தானாக நிரப்புதல் | படிவம் விரைவாக நிரப்புதல் |
| `placeholder` | சூழல் குறிப்பு | பயனர் எதிர்பார்ப்புக்கு வழிகாட்டுதல் |
> 🎯 **Accessibility Challenge**: உங்கள் விசைப்பலகியை மட்டும் பயன்படுத்தி படிவங்களில் செல்ல முயற்சிக்கவும்! `Tab` மூலம் தளங்களுக்கு இடைமாற்றம் செய்க, `Space` கொண்டு செக் பாக்குகளை தேர்ந்தெடுக்கவும், `Enter` மூலம் சமர்ப்பிக்கவும். இது ஸ்கிரீன் ரீடர் பயனர்கள் எப்படி உங்கள் படிவங்களோடு தொடர்பு கொள்கிறார்கள் என்று புரிந்துகொள்ள உதவும்.
### 🔄 **Pedagogical Check-in**
**படிவ அடித்தள புரிதல்**: ஜாவாஸ்கிரிப்டை செய்முறைப்படுத்துவதற்கு முன், இதை புரிந்துகொள்ள வேண்டும்:
- ✅ எவ்வாறு semantic HTML அணுகல் வாயிலாக படிவ கட்டமைப்பை உருவாக்குகிறது
- ✅ ஏன் உள்ளீடு வகைகள் மொபைல் விசைப்பலகைகள் மற்றும் சரிபார்ப்புக்கு முக்கியம்
- ✅ லேபிள்கள் மற்றும் படிவக் கட்டுப்பாடுகளுக்கிடையேயான தொடர்பு
- ✅ படிவ பண்புகள் எப்படி உலாவி இயல்புநிலை செயல்பாடுகளை பாதிக்கின்றன
**விரைவு சுயசோதனை**: ஜாவாஸ்கிரிப்ட் இல்லாமல் நீங்கள் ஒரு படிவத்தை சமர்ப்பித்தால் என்ன நடக்கும்?
*பதில்: உலாவி இயல்புநிலை சமர்ப்பிப்பைச் செய்கிறது, பெரும்பாலும் ஒன்று URL க்கு மாற்றும்*
**HTML5 Form நன்மைகள்**: நவீன படிவங்கள் தருகின்றன:
- **உள்ளீடு சரிபார்ப்பு**: தானாக மின்னஞ்சல் மற்றும் எண் வடிவிலை சரிபார்க்கும்
- **மொபைல் சிறப்பாக்கம்**: உள்ளீடு வகைகளுக்கேற்ற விசைப்பலகைகளுடன்
- **அணுகல் திறன்**: ஸ்கிரீன் ரீடர் மற்றும் விசைப்பலகி வழிசெலுத்தல் ஆதரவு
- **மேம்படுத்தல்**: ஜாவாஸ்கிரிப்ட் இயலாமலும் செயல்படும்
## Understanding Form Submission Methods
யாராவது உங்கள் படிவத்தை பூர்த்தி செய்து சமர்ப்பித்தால் அந்தத் தரவு எங்காவது போகவேண்டும் – பொதுவாக சேவையகமாக சேமிக்கவேண்டும். இதற்கு பல்வேறு முறைகள் உள்ளன, எது எப்போது பயன்படுத்த வேண்டும் என்பது புரிந்துகொள்வது முக்கியம்.
ஒருவேளை சமர்ப்பிக்க பொத்தானை அழுத்தும் போது என்ன நடக்கிறது என்பதை பார்ப்போம்.
### Default Form Behavior
முதலில் அடிப்படை படிவ சமர்ப்பிப்பு எப்படி நடக்கிறது என்று பார்ப்போம்:
**உங்கள் நடப்பு படிவங்களை சோதிக்க:**
1. உங்கள் படிவத்தில் உள்ள *Register* பொத்தானை கிளிக் செய்யவும்
2. உலாவியின் முகவரி பட்டியில் மாற்றங்களை கவனிக்கவும்
3. பக்கத்தை மீள்-ஏற்றும் விதம் மற்றும் URL இல் தரவு தோன்றுவதை கவனியுங்கள்

### HTTP Methods Comparison
```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` பயன்படுத்தவும்.
### Configuring Form Submission
உங்கள் பதிவு படிவத்தை பின்னணி API உடன் சரியாக தொடர்பு கொள்ள POST முறையை பயன்படுத்துமாறு அமைக்கலாம்:
```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` நிலைகளின் அடிப்படையில் அலங்காரம் மாறும்**
- **அனைத்து சரிபார்ப்புகள் கொண்டாலும் மட்டுமே படிவம் சமர்ப்பிக்கப்படும்**
- **முதலாவது தவறான புலத்திற்கு தானாக கவனம் மாறும்**
### கிளையன்ட்-சைட் மற்றும் சერვர்-சைட் சரிபார்ப்பு
```mermaid
graph LR
A[கிளையன்ட்-பக்கம் சரிபார்ப்பு] --> B[உடனடி கருத்து]
A --> C[நல்ல பயனர் அனுபவம்]
A --> D[சர்வர் சுமை குறைப்பு]
E[சர்வர்-பக்கம் சரிபார்ப்பு] --> F[பாதுகாப்பு]
E --> G[தரவு முழுமை]
E --> H[வணிக விதிகள்]
A -.-> I[இரண்டும் தேவை]
E -.-> I
```
**இரு அடுக்குகளும் தேவையான காரணங்கள்:**
- **கிளையன்ட்-சைட் சரிபார்ப்பு**: உடனடி பின்னூட்டம் வழங்கி பயனர் அனுபவத்தை மேம்படுத்துகிறது
- **சர்வர்-சைட் சரிபார்ப்பு**: பாதுகாப்பையும் சிக்கலான வணிக விதிகளையும் கையாள்கிறது
- **இணைந்த அணுகுமுறை**: உறுதியான, பயனருக்கு சாதகமான மற்றும் பாதுகாப்பான செயலிகள் உருவாக்கப்படுகின்றன
- **முன்னேற்றிய மேம்பாடு**: ஜாவாஸ்கிரிப்ட் அணைக்கப்பட்டதும் கூட வேலை செய்கிறது
> 🛡️ **பாதுகாப்பு நினைவூட்டி**: கிளையன்ட்-சைட் சரிபார்ப்பில் மட்டும் நம்ப வேண்டாம்! தீய பயனர்கள் கிளையன்ட்-சைட் சோதனைகளைத் தவிர்த்து விட முடியும், எனவே பாதுகாப்பிற்கும் தரவுத்தன்மைக்குமான சர்வர்-சைட் சரிபார்ப்பு அவசியம்.
### ⚡ **அடுத்த 5 நிமிடங்களில் செய்யவேண்டியவை**
- [ ] தவறான தரவுடனான படிவத்தை சோதித்து சரிபார்ப்பு செய்திகளை பார்க்கவும்
- [ ] ஜாவாஸ்கிரிப்ட் அணைக்கப்பட்டபோது படிவத்தை சமர்ப்பித்து HTML5 சரிபார்ப்பைக் காணவும்
- [ ] உலாவி DevTools இல் திறந்து சர்வருக்குச் செல்லும் படிவ தரவுகளை சரிபார்க்கவும்
- [ ] வெவ்வேறு உள்ளீடு வகைகளை முயற்சி செய்து மொபைல் விசைப்பலகை மாற்றங்களை காணவும்
### 🎯 **இந்த மணிநேரத்தில் சாதிக்கக்கூடியவை**
- [ ] பாடம் முடிந்த பொழுது புதுப்பித்தல் கேள்வொருக்கத்தை முடித்து படிவ கையாளல் கருத்துகளை புரிந்து கொள்
- [ ] நேரடி பின்னூட்டம் உடன் விரிவான சரிபார்ப்பை நடைமுறைப்படுத்து
- [ ] CSS அலங்காரத்தைச் சேர்த்து தொழில்முறை தோற்ற படிவங்களை உருவாக்கு
- [ ] நகல் பயனர்பெயர்கள் மற்றும் சர்வர் பிழைகளுக்கு பிழை கையாளுதல்களை செய்
- [ ] கடவுச்சொல் உறுதிப்படுத்தல் புலங்கள் மற்றும் பொருந்தும் சரிபார்ப்புகளைச் சேர்க்கவும்
### 📅 **உங்கள் வார முழு படிவ திறமை பயணம்**
- [ ] மேம்பட்ட படிவ அம்சங்களுடன் முழுமையான வங்கி செயலியை முடிக்கவும்
- [ ] சுயவிவர படங்கள் அல்லது ஆவணங்களுக்கான கோப்பு பதிவேற்றம் திறன்களைச் சேர்க்கவும்
- [ ] முன்னேற்றக் குறியீடுகள் மற்றும் நிலை நிர்வாகத்துடன் பல படி படிவங்களை மேற்கொள்
- [ ] பயனர் தேர்வுகளின் அடிப்படையில் தானாகச் சரிகொள் படிவங்களை உருவாக்கு
- [ ] சிறந்த பயனர் அனுபவத்திற்காக படிவத்தை தானாக சேமித்து மீட்டெடுக்கவும்
- [ ] மின்னஞ்சல் உறுதிப்படுத்தல் மற்றும் தொலைபேசி எண் வடிவமைப்புபோன்ற மேம்பட்ட சரிபார்ப்புகளைச் செயல் படுத்தவும்
### 🌟 **உங்கள் மாதாந்திர முன்னணி வடிவமைப்பு திறமை**
- [ ] கூட்டு நிபந்தனைகளும் பணிச்சொறிகளும் கொண்ட சிக்கலான படிவ செயலிகளைக் கட்டமை
- [ ] வேகமான அபிவிருத்திக்கான படிவ நூலகங்களையும் கட்டமைப்புகளையும் கற்று கொள்
- [ ] அணுகல் வழிகாட்டு நெறிமுறைகள் மற்றும் அனைத்து பயனர்களுக்கும் பொருந்தும் வடிவமைப்புக்களை ஆக்கவும்
- [ ] உலகளாவிய படிவங்களுக்கு சர்வதேச மயமாக்கல் மற்றும் நிலைத்திருப்பை நடைமுறைப்படுத்தவும்
- [ ] மீண்டும் பயன்படுத்தக்கூடிய படிவ கூறு நூலகங்கள் மற்றும் வடிவமைப்பு அமைப்புகளை உருவாக்கு
- [ ] திறந்த மூல படிவ திட்டங்களுக்கு பங்களித்து சிறந்த நடைமுறைகளை பகிரவும்
## 🎯 உங்கள் படிவ மேம்பாட்டு திறன் காலவரிசை
```mermaid
timeline
title படிவம் உருவாக்கம் & பயனர் அனுபவம் கற்றல் முன்னேற்றம்
section HTML அடித்தளம் (15 நிமிடங்கள்)
Semantic Forms: படிவ கூறுகள்
: உள்ளீடு வகைகள்
: லேபிள்கள் மற்றும் அணுகுமுறை
: முன்னேற்ற வளர்ச்சி
section JavaScript ஒருங்குறைப்பு (25 நிமிடங்கள்)
நிகழ்வு கையாளல்: படிவ சமர்ப்பித்தல்
: தரவு சேகரிப்பு
: AJAX தொடர்பு
: Async/await படிமுறைகள்
section சரிபார்ப்பு அமைப்புகள் (35 நிமிடங்கள்)
பல அடுக்கு பாதுகாப்பு: HTML5 சரிபார்ப்பு
: கிளையண்ட் பக்க உரையாடல்
: சர்வர் பக்க உறுதிப்படுத்தல்
: பிழை கையாளல்
section பயனர் அனுபவம் (45 நிமிடங்கள்)
இடைமுகம் மேம்பாடு: ஏற்றும் நிலைகள்
: வெற்றி செய்தி
: பிழை மீட்பு
: அணுகல் வசதிகள்
section முன்னேற்ற படிமுறைகள் (1 வாரம்)
தொழில்முறை படிவங்கள்: இயக்கத் திறன் சரிபார்ப்பு
: பல அடி வேலைப்பாடுகள்
: கோப்பு பதிவேற்றங்கள்
: நேரடி கருத்து
section நிறுவன திறன்கள் (1 மாதம்)
பயன்பாட்டு பயன்பாடுகள்: படிவ நூலகங்கள்
: சோதனை அணுகுமுறைகள்
: செயல்திறன் மேம்பாடு
: பாதுகாப்பு சிறந்த நடைமுறைகள்
```
### 🛠️ உங்கள் படிவ மேம்பாட்டு கருவி சேகரிப்பு சுருக்கம்
இந்த பாடத்தை முடித்த பிறகு, நீங்கள் தற்போது அனுபவித்துள்ளீர்கள்:
- **HTML5 படிவங்கள்**: செமாண்டிக் கட்டமைப்பு, உள்ளீடு வகைகள் மற்றும் அணுகல் வசதிகள்
- **ஜாவாஸ்கிரிப்ட் படிவ கையாளல்**: நிகழ்வு நிர்வாகம், தரவு சேகரிப்பு மற்றும் AJAX தொடர்பு
- **சரிபார்ப்புக் கட்டமைப்பு**: பாதுகாப்பு மற்றும் பயனர் அனுபவத்திற்கான பல அடுக்கு சரிபார்ப்பு
- **அசிங்க்ரோனஸ் நிரலாக்கம்**: நவீன fetch API மற்றும் async/await வடிவமைப்புகள்
- **பிழை மேலாண்மை**: முழுமையான பிழை கையாளுதல் மற்றும் பயனர் பின்னூட்ட அமைப்புகள்
- **பயனர் அனுபவ வடிவமைப்பு**: ஏற்றும் நிலைகள், வெற்றி செய்தி மற்றும் பிழை மீட்பு
- **முன்னேற்றிய மேம்பாடு**: அனைத்து உலாவிகளிலும் மற்றும் திறன்களிலும் செயல்படும் படிவங்கள்
**உண்மையான உலக பயன்பாடுகள்**: உங்கள் படிவ மேம்பாட்டு நுணுக்கங்கள் நேரடியாகப் பயன்படுத்தப்படுகின்றன:
- **மின் வணிக செயலிகள்**: காசோலை செயல்முறைகள், கணக்கு பதிவு மற்றும் கட்டணம் படிவங்கள்
- **நிறுவன மென்பொருள்**: தரவு நுழைவு அமைப்புகள், அறிக்கைகள் இடைமுகங்கள் மற்றும் பணிச்சொறி செயலிகள்
- **உள்ளடக்கம் மேலாண்மை**: வெளியீட்டு தளங்கள், பயனர் உருவாக்கிய உள்ளடக்கம் மற்றும் நிர்வாக இடைமுகங்கள்
- **நிதி செயலிகள்**: வங்கி உள்ளடக்கங்கள், முதலீட்டு தளங்கள் மற்றும் பரிவர்த்தனை அமைப்புகள்
- **சுகாதார அமைப்புகள்**: நோயாளி போர்ட்டல்கள், நேரடி அட்டவணை மற்றும் மருத்துவ பதிவு படிவங்கள்
- **கல்வி தளங்கள்**: பாடநெறி பதிவு, மதிப்பீட்டு கருவிகள் மற்றும் கல்வி நிர்வாகம்
**தொழில்முறை திறன்கள் பெறப்பட்டன**: நீங்கள் இப்போது:
- **திறன்பெற்ற படிவங்களை வடிவமைக்க முடியும்**, ஆக்ராமிகள் உட்பட அனைத்து பயனர்களுக்கும் பொருந்தும்
- **பாதுகாப்பு படிவ சரிபார்ப்பை நடைமுறைப்படுத்த கற்றுக்கொண்டீர்கள்**, தரவு முறுப்பாக்கம் மற்றும் பாதுகாப்பு பிரச்சனைகள் தவிர்த்து
- **தொடர்ச்சியான பயனர் இடைமுகங்களை உருவாக்க முடியும்**, தெளிவான பின்னூட்டம் மற்றும் வழிகாட்டி உதவிகளுடன்
- **உலகளாவிய உலாவி டெவலப்பர் கருவிகள் மற்றும் நெட்வொர்க் பகுப்பாய்வைக் கொண்டு சிக்கலான படிவ இடைமுகங்களை பிழைத்திருத்த முடியும்**
- **படிவ செயல்திறனைக் கூற்றான தரவை கையாளுதலும் சரிபார்ப்பும் மூலம் மேம்படுத்த முடியும்**
**முன்னணி மேம்பாட்டு கருத்துக்கள் கிடைத்தன**:
- **நிகழ்வு இயக்கப்பட்ட கட்டமைப்பு**: பயனர் தொடர்பு கையாளுதல் மற்றும் பதிலளிப்பு அமைப்புகள்
- **அசிங்க்ரோனஸ் நிரலாக்கம்**: தடையில்லாத சர்வர் தொடர்பாற்றல் மற்றும் பிழை கையாளுதல்
- **தரவு சரிபார்ப்பு**: கிளையன்ட்-சைட் மற்றும் சர்வர்-சைட் பாதுகாப்பு மற்றும் முழுமைச் சோதனைகள்
- **பயனர் அனுபவ வடிவமைப்பு**: பயனர்களை வெற்றிக்குக் வழிநடத்தும் அறிமுக இடைமுகங்கள்
- **அணுகல் பொறியியல்**: பல்வேறு பயனர் தேவைகளுக்கான கைவிடத்தக்க வடிவமைப்பு
**அடுத்த நிலை**: நீங்கள் நவீன படிவ நூலகங்களை ஆராயவும், சிக்கலான சரிபார்ப்புக் விதிகளை நடைமுறைப்படுத்தவும், அல்லது நிறுவன தரத்தின் தரவுச் சேகரிப்பு அமைப்புகளை கட்டமைக்க தயார்!
🌟 **பொருள் பெற்ற சாதனம்**: நீங்கள் தொழில்முறை சரிபார்ப்பு, பிழை கையாளுதல் மற்றும் பயனர் அனுபவ வடிவமைப்பு முறைகளுடன் முழுமையான படிவ கையாளல் அமைப்பை உருவாக்கியுள்ளீர்கள்!
---
---
## GitHub Copilot முகவரின் சவால் 🚀
Agent முறையைப் பயன்படுத்தி, கீழ்க்கண்ட சவாலை நிறைவேற்றவும்:
**விளக்கம்:** பதிவுத்தாளில் விரிவான கிளையன்ட்-சைட் சரிபார்ப்பும் பயனர் பின்னூட்டத்தையும் இணைத்து மேம்படுத்தவும். இந்த சவால் படிவ சரிபார்ப்பு, பிழை கையாளுதல் மற்றும் பயனர் அனுபவத்தை அதிகரிக்கும் தொடர்பான பயிற்சியை வழங்கும்.
**Prompt:** பதிவு படிவத்திற்கான முழுமையான வடிகட்டும் அமைப்பை உருவாக்கவும், இதில் அடங்க வேண்டும்: 1) பயனர் எழுத்துப்பதிவு செய்யும் போது ஒவ்வொருச்சேதத்திற்கும் நேரடி validation பின்னூட்டம், 2) ஒவ்வொரு உள்ளீட்டு புலத்திற்கும் கீழே தோன்றும் தனிப்பயன் validation செய்திகள், 3) கடவுச்சொல் உறுதிப்படுத்தும் புலம் மற்றும் பொருந்துதல் validation, 4) காட்சிப்படுத்தும் குறியீடுகள் (செல்லுபடியான புலங்களுக்கு பச்சை சரிபார்ப்பு குறியீடுகள் மற்றும் செல்லாத புலங்களுக்கு சிவப்பு எச்சரிக்கை), 5) எல்லா validation-களும் பாசாகும் போது மட்டுமே இயங்கக் கூடிய சமர்ப்பிப்பு பொத்தான். HTML5 validation பண்புகளை, validation நிலைக்கு CSS அழகுபடுத்தலை, மற்றும் இணையற்ற செயல்பாடுகளுக்கு JavaScript-ஐ பயன்படுத்தவும்.
[agent mode](https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode) பற்றிய தகவலுக்கு இங்கே காண்க.
## 🚀 சவால்
பயனர் ஏற்கனவே இருந்தால் HTML இல் பிழை செய்தியை காட்டவும்.
சிறிது CSS அலங்காரத்துடன் இறுதி பதிவு பக்கம் போன்றதாக இருக்கும் உதாரணம் இதோ:

## படிப்பு முடிந்த பின் வினாத்தாள்
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/quiz/44)
## மதிப்பாய்வு மற்றும் சுயபடிப்பு
விகிதாசாரர்களின் படிவ கட்டுமான முயற்சிகளில் மிகச்சிறந்த படைப்பாற்றலை வெளிப்படுத்தியுள்ளனர், குறிப்பாக validation தந்திரங்கள் தொடர்பாக. [CodePen](https://codepen.com) -ஐ நோக்கி விலகி பல்வேறு அருமையான படிவங்களை காணலாம், நீங்கள் சில புதுமையான மற்றும் ஊக்குவிக்கும் படிவங்களை கண்டுபிடிக்க விருப்பமுள்ளதாக இருக்கிறீர்களா?
## பணிச் செயல்பாடு
[உங்கள் வங்கிப் பயன்பாட்டிற்கு அழகுபடுத்துங்கள்](assignment.md)
---
**வெளியுறுத்தல்**:
இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சித்தாலும், தானியங்கி மொழிபெயர்ப்புகளில் தவறுகள் அல்லது முரண்பாடுகள் இருக்கக்கூடும் என்பதை கருத்தில் கொள்ளவும். ஒரிஜினல் ஆவணம் அதன் இயல்புநிலை மொழியில் அதிகாரப்பூர்வ ஆதாரம் என்று கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முனைவோர்களால் செய்யப்படும் மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்பட்ட எந்த தவறான புரிதல்களுக்கும் அல்லது தவறான விளக்கங்களுக்கு கடமை ஏற்றுக்கொள்ளப்படாது.