TECHNOTROV
Відкрити в Telegram
Unahitaji kujifunza programming languages Forex and binary trading Na mengine mengi kuhusu tech Hii ni sehemu sahihi kwa ajili yako
Показати більшеКраїна не вказанаТехнології та додатки37 357
1 335
Підписники
-224 години
-457 днів
-10930 день
Триває завантаження даних...
Схожі канали
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Хмара тегів
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+7
в 1 каналах
травень '26
+19
в 17 каналах
Get PRO
квітень '26
+26
в 15 каналах
Get PRO
березень '26
+1 140
в 1 каналах
Get PRO
лютий '26
+37
в 1 каналах
Get PRO
січень '26
+59
в 3 каналах
Get PRO
грудень '25
+176
в 1 каналах
Get PRO
листопад '25
+145
в 1 каналах
Get PRO
жовтень '25
+83
в 1 каналах
Get PRO
вересень '25
+174
в 24 каналах
Get PRO
серпень '25
+151
в 30 каналах
Get PRO
липень '25
+224
в 0 каналах
Get PRO
червень '25
+621
в 1 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 23 червня | 0 | |||
| 22 червня | +1 | |||
| 21 червня | 0 | |||
| 20 червня | 0 | |||
| 19 червня | 0 | |||
| 18 червня | +1 | |||
| 17 червня | 0 | |||
| 16 червня | 0 | |||
| 15 червня | 0 | |||
| 14 червня | 0 | |||
| 13 червня | 0 | |||
| 12 червня | 0 | |||
| 11 червня | 0 | |||
| 10 червня | 0 | |||
| 09 червня | 0 | |||
| 08 червня | +1 | |||
| 07 червня | +1 | |||
| 06 червня | 0 | |||
| 05 червня | +1 | |||
| 04 червня | +1 | |||
| 03 червня | +1 | |||
| 02 червня | 0 | |||
| 01 червня | 0 |
Дописи каналу
| 2 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 7 |
| 3 | ✅ Form Validation using JavaScript
Form validation checks user input before submission.
🧠 Why Form Validation Matters
Without validation
• Empty forms get submitted
• Wrong emails stored
• Bad data in database
Real examples
• Email format check
• Password rules
• Required fields
🔍 Types of Form Validation
🔹 1. HTML Validation (Built-in)
Browser handles validation automatically.
Example <input type="email" required>
✔️ Checks empty field
✔️ Checks email format
🔹 2. JavaScript Validation (Custom Logic)
You control validation rules.
Used for
• Password strength
• Custom messages
• Complex conditions
📤 Basic Form Validation Flow
1️⃣ User submits form
2️⃣ JavaScript checks input
3️⃣ If invalid → show error
4️⃣ If valid → submit form
✍️ Check Empty Input
HTML
<form id="form">
<input type="text" id="username">
<button>Submit</button>
</form>
JavaScript
const form = document.getElementById("form");
form.addEventListener("submit", (e) => {
const username = document.getElementById("username").value;
if (username === "") {
e.preventDefault();
alert("Username is required");
}
});
✔️ Stops submission if empty
📧 Email Validation Example
Check using pattern.
const email = document.getElementById("email").value;
if (!email.includes("@")) {
alert("Enter valid email");
}
Real projects use regular expressions.
🔐 Password Length Validation
if (password.length < 6) {
alert("Password must be at least 6 characters");
}
🎨 Show Error Message in UI (Better Practice)
HTML
<input type="text" id="username">
<p id="error"></p>
JavaScript
if (username === "") {
error.textContent = "Username required";
}
✔️ Better than alert
✔️ User-friendly
⚠️ Common Beginner Mistakes
• Forgetting preventDefault()
• Using only alerts
• No user feedback
• Weak validation rules
✅ Best Practices
• Validate on both client and server
• Show clear error messages
• Use simple rules first
• Give instant feedback
🧪 Mini Practice Task
• Validate username is not empty
• Check email contains @
• Ensure password length ≥ 6
• Show error message on screen
✅ Mini Practice Task Solution – Try it yourself first
This solution covers all 4 tasks:
✔ Username not empty
✔ Email contains @
✔ Password length ≥ 6
✔ Show error message on screen
📝 HTML
<form id="form">
<input type="text" id="username" placeholder="Enter username">
<input type="text" id="email" placeholder="Enter email">
<input type="password" id="password" placeholder="Enter password">
<p id="error" style="color: red;"></p>
<button type="submit">Submit</button>
</form>
⚡ JavaScript
const form = document.getElementById("form");
const error = document.getElementById("error");
form.addEventListener("submit", (e) => {
const username = document.getElementById("username").value.trim();
const email = document.getElementById("email").value.trim();
const password = document.getElementById("password").value.trim();
error.textContent = ""; // clear previous errors
// Username validation
if (username === "") {
e.preventDefault();
error.textContent = "Username is required";
return;
}
// Email validation
if (!email.includes("@")) {
e.preventDefault();
error.textContent = "Enter a valid email";
return;
}
// Password validation
if (password.length < 6) {
e.preventDefault();
error.textContent = "Password must be at least 6 characters";
return;
}
});
✅ What this code does
• Stops form submission if input is invalid
• Shows error message on screen
• Validates step by step
• Clears old errors automatically
🧠 Key Learning
• Use preventDefault() to stop submission
• Use .trim() to remove extra spaces
• Show errors in UI instead of alerts
• Validate fields one by one
Double Tap ♥️ For More | 6 |
| 4 | Master Javascript :
The JavaScript Tree 👇
|
|── Variables
| ├── var
| ├── let
| └── const
|
|── Data Types
| ├── String
| ├── Number
| ├── Boolean
| ├── Object
| ├── Array
| ├── Null
| └── Undefined
|
|── Operators
| ├── Arithmetic
| ├── Assignment
| ├── Comparison
| ├── Logical
| ├── Unary
| └── Ternary (Conditional)
||── Control Flow
| ├── if statement
| ├── else statement
| ├── else if statement
| ├── switch statement
| ├── for loop
| ├── while loop
| └── do-while loop
|
|── Functions
| ├── Function declaration
| ├── Function expression
| ├── Arrow function
| └── IIFE (Immediately Invoked Function Expression)
|
|── Scope
| ├── Global scope
| ├── Local scope
| ├── Block scope
| └── Lexical scope
||── Arrays
| ├── Array methods
| | ├── push()
| | ├── pop()
| | ├── shift()
| | ├── unshift()
| | ├── splice()
| | ├── slice()
| | └── concat()
| └── Array iteration
| ├── forEach()
| ├── map()
| ├── filter()
| └── reduce()|
|── Objects
| ├── Object properties
| | ├── Dot notation
| | └── Bracket notation
| ├── Object methods
| | ├── Object.keys()
| | ├── Object.values()
| | └── Object.entries()
| └── Object destructuring
||── Promises
| ├── Promise states
| | ├── Pending
| | ├── Fulfilled
| | └── Rejected
| ├── Promise methods
| | ├── then()
| | ├── catch()
| | └── finally()
| └── Promise.all()
|
|── Asynchronous JavaScript
| ├── Callbacks
| ├── Promises
| └── Async/Await
|
|── Error Handling
| ├── try...catch statement
| └── throw statement
|
|── JSON (JavaScript Object Notation)
||── Modules
| ├── import
| └── export
|
|── DOM Manipulation
| ├── Selecting elements
| ├── Modifying elements
| └── Creating elements
|
|── Events
| ├── Event listeners
| ├── Event propagation
| └── Event delegation
|
|── AJAX (Asynchronous JavaScript and XML)
|
|── Fetch API
||── ES6+ Features
| ├── Template literals
| ├── Destructuring assignment
| ├── Spread/rest operator
| ├── Arrow functions
| ├── Classes
| ├── let and const
| ├── Default parameters
| ├── Modules
| └── Promises
|
|── Web APIs
| ├── Local Storage
| ├── Session Storage
| └── Web Storage API
|
|── Libraries and Frameworks
| ├── React
| ├── Angular
| └── Vue.js
||── Debugging
| ├── Console.log()
| ├── Breakpoints
| └── DevTools
|
|── Others
| ├── Closures
| ├── Callbacks
| ├── Prototypes
| ├── this keyword
| ├── Hoisting
| └── Strict mode
|
| END __ | 5 |
| 5 | Немає тексту... | 21 |
| 6 | Tumetoka kwenye kujaribu Sasa IV tunafanya 👊
We kama unajaribu lazma ufeli
Instead just do it | 15 |
| 7 | Ni wewe kujaribu tu sio kuangalia posts
Risky takers will win always 🤑
20$ for 3 people only
This offer valid for few days
Dm me here
@technotrov_bot
Au piga simu
0792666856 | 15 |
| 8 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 9 |
| 9 | I'm online now
Dm me here
@technotrov_bot | 12 |
| 10 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 8 |
| 11 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 14 |
| 12 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 13 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 14 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 15 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 16 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 17 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 18 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 19 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 1 |
| 20 | 𝗥𝗘𝗔𝗖𝗛 𝗬𝗢𝗨𝗥 𝗗𝗥𝗘𝗔𝗠
𝗙𝗥𝗢𝗠 𝟱𝟬𝟬 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦
𝗧𝗢 𝟭 𝗠𝗜𝗟𝗟𝗜𝗢𝗡 𝗦𝗨𝗕𝗦𝗖𝗥𝗜𝗕𝗘𝗥𝗦 | 13 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
