Bất kể dự án nào có form thì đều cần validate hết.
Việc validate giúp hạn chế những sai sót từ phía người dùng, mang lại data chuẩn xác. Kỹ thuật validate không khó, quạn trọng là người code chú tâm, cẩn thận thế nào thì chức năng sẽ có độ xịn tương ứng.
Để sớm đi làm trong ngành lập trình mọi người hãy cố gắng làm sản phẩm của mình một cách chỉnh chu hết sức sẽ được công nhận.
Video 50p hơn hướng dẫn ae kinh nghiệm code chuyên nghiệp. Tư duy code cực kì quan trọng để lên sớm đi làm.
RegexEmail : Youtube không cho đăng, ae lên tải code mẫu từ nodemy nhé.
👇 LỘ TRÌNH LÊN FULLSTACK, trọn bộ serial course MIỄN PHÍ 👇:
👇 LỘ TRÌNH LÊN FULLSTACK, trọn bộ serial course MIỄN PHÍ 👇:
• Luyện tập 30 Projects thực chiến:
• HTML:
• CSS:
• JS:
• NodeJS:
• ExpressJS:
• ReactJS:
Ngoài ra nếu bạn muốn học hiệu quả hơn, có kinh nghiệm đi làm ngay thì nên học tập tại:
• Học OFF (2 – 4 tháng):
Được đưa vào làm dự án, giảng viên hỗ trợ 1-1, trực tiếp hướng dẫn làm task. Đầu ra cam kết việc làm có lương ngay.
• Học ONLINE:
Video call, giải đáp trực tiếp, hỗ trợ 1-1, teamview review sửa code. Hướng dẫn code dự án thực tế.
❓Tại sao mình nói học OFF hoặc ONLINE qua lại hiệu quả hơn ?
Vì khi bạn tham gia các chương trình đào tạo trên, bạn sẽ được giảng viên hỗ trợ trực tiếp. Đó là cách bạn lên kinh nghiệm nhanh nhất, học từ người đi trước.
Có người hướng dẫn bạn sẽ học tập trung kiến thức trọng tâm, kiến thức chuyên sâu, tránh sai lầm khi code. Những điều đó thôi cũng giúp bạn rút ngắn gần 1 năm so với tự học lập trình.
✪ Để học tập ONLINE qua youtube hiệu quả :
⚠️⚠️ ⚠️ Các bạn không nên quá phụ thuộc vào video. Video chỉ giúp các bạn hiểu kiến thức, để vận dụng thành thạo các bạn cần luyện tập nhiều và làm dự án thực tế, cần 1 người đi trước chỉ dẫn.
⭐ Nên tự code lại kiến thức đã học (tắt video đi code lại),
⭐ Làm bài tập cần pause video, tự nghĩ và làm bài tập trước, rồi mới xem đáp án
⭐ Xem hiểu hết video không có nghĩa là bạn đã biết code. Vì vậy các bạn đừng vội xem nhanh và nhiều video trong 1 ngày. Các bạn có thể thực hiện theo công thức bên dưới:
1. Xem video, khoảng 5 – 10 phút thì dừng lại để luyện tập
2. Tóm tắt những kiến thức trong 5-10 phút vừa xem theo cách bạn dễ nhớ
3. Tắt video, code lại những gì đã học trong video (không được mở video tham khảo, chỉ nhìn vào bản tóm tắt để làm, nếu không nhớ thì google search)
4. Tự lấy thêm ví dụ để kiểm chứng xem mình đã hiểu đúng về kiến thức chưa.
5. Nếu tự code được bằng chính khả năng của mình thì tiếp tục xem tiếp video.
☝️CHÚ Ý: Thường các video có dài hơn 30 phút đến 1 tiếng thì vẫn phải áp dụng 5 bước trên, mỗi lần xem video chỉ 10 phút rồi phải thực hành lại ngay.
❓ Nếu có bất kì thắc mắc nào về bài giảng có thể để lại comment, mình sẽ trả lời sớm nhất cho các bạn. Mọi người có thể cùng nhau học lập trình, tham gia group bên dưới:
Nodemy là một startup trường học công nghệ đào tạo chuyên sâu về Nodejs – Javascript, được nhóm admin NodeJs Việt Nam – cộng đồng Js lớn nhất Việt Nam thành lập.
✪ Follow Me :
• Fanpage:
• Website:
•Group học tập:
•Website:
✪ Cộng đồng:
• Nodejs Việt Nam:
• Diễn đàn:
• Fanpage Nodejs Việt Nam:
✪ Các bạn có thể liên hệ trực tiếp với mình qua:
📞 08 666 33 805
🙋♂:
12:00 thay vì dùng thẻ span a có thể focus() rồi set lại thuộc tính của border-bottom , nó sẽ nhanh hơn và dễ hiểu hơn cho mấy bnaj bắt đầu . phần sau khá là ok . video a làm rất hay và thực tế
sao không hiểu 1 tí gì luôn nhỉ?? toàn viết mà không biết vì sao phải viết như vậy??
em nghĩ là nó phải check lần lượt thì mới chuẩn cái email chưa đc check trống mà đã bị ghi đè rồi
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') bị lỗi này thì fix sao ạ
– parent.classList.add('error') ( phút 29 )
– Em ko hiểu tại sao mình add thêm class ' error ' này vào lmj trong khi mình ko dùng đến ạ hic :<
còn cái gọi api đó là nhiệm vụ của frontend mình tự code lun hay cái đó để cho bên BE code ạ 51:27
check input đó phải viết số không được có ký tự hay chữ thì làm sao vậy anh?
Thay vì phải submit nó mới báo lỗi thì mình có cách nào bắt lỗi liền không a
anh oi sao lam giong anh rồi, nhập dữ liệu đúng theo yêu cầu mà ấn nút login mà form ko chạy vậy a
Anh ơi cho em xin source code được k ạ?
cảm ơn vì những chia sẻ của bạn, rất oke
sao mất baif 21 đến 30 rồi Ad
const form = document.getElementById('form');
const username = document.getElementById('username');
const email = document.getElementById('email');
const password = document.getElementById('password');
const password2 = document.getElementById('password2');
const inputElement = document.querySelectorAll('input')
inputElement.forEach(input => {
input.onblur = () => {
checkInput()
}
input.oninput = () => {
checkInput()
}
})
form.addEventListener('submit',function (e){
e.preventDefault()
let isCheck = checkInput()
if(isCheck){
console.log('Lỗi');
}else{
console.log('Call Api')
}
})
const checkInput =() =>{
if(!username.value.trim()){
setErrorFor(username,'Vui lòng nhập kí tự ')
return true
}else{
setSuccedFor(username)
}
if(!email.value.trim()){
setErrorFor(email,'Vui lòng nhập kí tự')
return true
}else if(!isCheckEmail(email.value)){
setErrorFor(email,'Truong nay khong phai email')
return true
}else{
setSuccedFor(email)
}
if(!password.value.trim()){
setErrorFor(password,'Vui lòng nhập kí tự')
return true
}else if(!isMinimum(password.value,6)){
setErrorFor(password,`Nhap toi thieu 6 kí tự`)
return true
}else{
setSuccedFor(password)
}
if(!password2.value.trim()){
setErrorFor(password2,'Vui lòng nhập kí tự')
return true
}else if(!isMinimum(password2.value,6)){
setErrorFor(password2,`Nhap toi thieu 6 kí tự`)
return true
}else if(password.value.trim() !== password2.value.trim() ){
setErrorFor(password2,'vui lòng nhập trùng password')
return true
}else{
setSuccedFor(password2)
}
return false
}
function setErrorFor(input,message){
const parentElement = input.parentElement
const small = parentElement.querySelector('small')
parentElement.classList.add('error')
small.innerText = message;
}
function setSuccedFor(input){
const parentElement = input.parentElement
parentElement.classList.remove('error')
parentElement.classList.add('success')
}
function isCheckEmail(email) {
return /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/.test(email);
}
function isMinimum (password,min) {
let isCheckMinimum = false
if(password.length >= min){
isCheckMinimum = true
}
return isCheckMinimum
}
tới mấy phần này hay quá càng dài càng tốt anh em coi hết không giây nào đâu
sau khi làm và đọ với code mẫu của anh thì đúng là trời vực :D, cảm ơn anh rất nhiều
nhờ những bài trước mà bài này em đã có thể làm giống đến 90% rồi, cảm ơn anh rất nhiều ạ
Bạn làm video rất dễ hiểu và bổ ích với người mới học như mình. Đã đăng ký kênh và hy vọng sẽ có thêm nhiều video hướng dẫn như vậy hơn. Cảm ơn đội ngũ Nodemy rất nhiều
Uncaught TypeError: Cannot read properties of null (reading 'parentElement') em bị lỗi không đọc được thì phải fix như nào ạ :<
e nghĩ cái này hợp với form đăng ký phải không ạ. vì Login thì nó kiểm tra dữ liệu từ DB ạ
A ơi sắp ra video mới chưa ạ? E hóng quá
mong anh ra video hay và chất lượng về js. Cảm ơn anh vì đã dành thời gian chia sẻ những kiến thức bổ ích về js
mong anh ra video hay và chất lượng về js. Cảm ơn anh vì đã dành thời gian chia sẻ những kiến thức bổ ích về js
Kênh ra tiếp video đi ạ. Học cuốn quá
Hay quá. ra nữa đi b
Cảm ơn anh nhiều.Hóng video mới quá anh ơi
bao lâu ra 1 video vậy a, chứ cuốn quá…!!!
Wow Liên Hệ Với Bạn Ở Đâu
đoạn code này: let isEmailError = !regexEmail.test(input.value) em chưa rõ lắm anh có thể giải thích giúp em được không ạ
Một kênh rất thực tế và hữu ích cảm ơn anh đã chia sẻ kiến thức
kênh này là 1 kênh học lập trình rất là thực tế cảm ơn kênh
Em k nghĩ cái span line transition nó đơn giản tới vậy. Lúc trước em làm tùm lum mới ra đc. Cảm ơn anh rất nhiều !!!