์ผ์ฑ์ ์ ํํ์ด์ง ํด๋ก ํ๋ก์ ํธ
- ๋ฐฐํฌ ๋งํฌ : https://firstproject-79ba9.firebaseapp.com/ (๋ฐ์ํ, ์ ์ฒด ํ์ด์ง ์ค ๋ฉ์ธ)
- ์์ HTML, CS, JS๋ฅผ ์ด์ฉํ ํด๋ก ์ฝ๋ฉ์ผ๋ก UI์ ์ธํฐ๋์ ๊ตฌํ
- ์ฟ ํค์ ์ธ์ ๊ธฐ์ ์ ์ด์ฉํ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
- ์นํฉ ๋ชจ๋ ๋ฒ๋ค๋ง์ ํตํ ์ ์ ํ์ผ ์์กด์ฑ ๊ด๋ฆฌ
๊ฐ๋ฐ ํ๊ฒฝ | ์ด์ฉ ํ๋ก๊ทธ๋จ |
---|---|
๊ฐ๋ฐ๋๊ตฌ | VS Code |
DBMS | MySQL |
Server | Express |
Language | HTML5, CSS3, JavaScript(ES6), node.js, SCSS |
ํ๋ ์ ์ํฌ | Mybatis |
์์กด์ฑ ๊ด๋ฆฌ | Webpack |
๋์์ธ ํด | Adobe Illustrator |
๋ฌธ์ ํด | MS PowerPoint, MS Excel |
์ด 7 ํ์ด์ง์ ํ๋ฉด์ ๊ตฌํํ์์ผ๋ฉฐ ๋ฉ์ธ์ ๊ฒฝ์ฐ ๋ชจ๋ฐ์ผ์ ๋์ํ ๋ฐ์ํ์ผ๋ก ์ ์๋์์ต๋๋ค. ์น ํ์ค์ ์ค์ํ๊ณ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ด ๊ฐ๋ฅํฉ๋๋ค. (Chrome, Edge)
export const $id = document.getElementById('id')
export const $password = document.getElementById('password')
export const $submit = document.getElementById('submit')
export function autofocus() {
window.addEventListener('load', function () {
$id.focus()
})
}
export const $idmsg = document.getElementById('id-msg')
export const $pwmsg = document.getElementById('pw-msg')
export const ID_REGEX = new RegExp('^[a-z0-9_-]{5,20}$')
export const PW_REGEX = new RegExp('^[A-Za-z0-9]{8,16}$')
export const ID_ERROR_MSG = {
required: 'ํ์ ์ ๋ณด์
๋๋ค.',
invalid: '5~20์์ ์๋ฌธ ์๋ฌธ์, ์ซ์์ ํน์๊ธฐํธ(_),(-)๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.',
}
export const PW_ERROR_MSG = {
required: 'ํ์ ์ ๋ณด์
๋๋ค.',
invalid: '8~16์์ ์๋ฌธ ๋์๋ฌธ์, ์ซ์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.',
}
export const checkIdValidation = function (value) {
let isValidId
if (value.length === 0) {
isValidId = 'required'
$id.style.border = '1px solid red'
$idmsg.innerText = ID_ERROR_MSG[isValidId]
} else {
isValidId = ID_REGEX.test(value) ? true : 'invalid' // test ๊ฒฐ๊ณผ๊ฐ true๋ฉด true๋ฅผ ์ฃผ๊ณ , false๋ฉด invalid
console.log(isValidId)
if (isValidId !== true) {
$id.style.border = '1px solid red'
$idmsg.innerText = ID_ERROR_MSG[isValidId] // ID_ERROR_MSG[invalid] or ID_ERROR_MSG[required]
} else if (isValidId === true) {
$id.style.border = '1px solid white'
$idmsg.remove()
}
}
}
export function Idfocusout() {
if ($id.value == null) {
$id.addEventListener('focusout', () => checkIdValidation($id.value))
} else {
$id.addEventListener('focusout', () => checkIdCheck($id.value))
}
}
export function Pwfocusout() {
if ($password.value == null) {
$password.addEventListener('focusout', () =>
checkPasswordValidation($password.value)
)
} else {
$password.addEventListener('focusout', () =>
checkPasswordCheck($password.value)
)
}
}
export const checkPasswordValidation = function (value) {
let isValidPw
if (value.length === 0) {
isValidPw = 'required'
} else {
isValidPw = PW_REGEX.test(value) ? true : 'invalid' // test ๊ฒฐ๊ณผ๊ฐ true๋ฉด true๋ฅผ ์ฃผ๊ณ , false๋ฉด invalid
console.log(isValidPw)
// ์ปค์คํ
์๋ฌ ๋ฉ์์ง
// (1) ๋น์ด์์ ๋ (2) ์ ํจํ์ง ์์ ๊ฐ์ผ๋
// input ํ๊ทธ์ border-red-600 class ์ถ๊ฐ & **-msg div์ ์๋ฌ ๋ฉ์์ง ์ถ๊ฐ
if (isValidPw !== true) {
// isValidId -> invalid, required
$password.style.border = '1px solid red'
$pwmsg.innerText = PW_ERROR_MSG[isValidPw] // ID_ERROR_MSG[invalid] or ID_ERROR_MSG[required]
} else if (isValidPw === true) {
$password.style.border = '1px solid white'
$pwmsg.remove()
}
}
}
export const checkIdCheck = function (value) {
const isValidIdCheck = 'n_uck' === $id.value
console.log(isValidIdCheck)
}
export const checkPasswordCheck = function (value) {
const isValidPwCheck = 'Z13508975z' === $password.value
console.log(isValidPwCheck)
}
export function LoginSubmit() {
$submit.addEventListener('click', (e) => {
e.preventDefault() // submit์ด ๊ฐ์ง ๊ณ ์ ์ ๊ธฐ๋ฅ ๋ง์์ค (form์ ๊ฐ์ ์๋ฒ์ ์ ์กํ๋ ๊ฒ์ ๋ง์์ค)
console.log('๋ก๊ทธ์ธ ์๋ฃ')
checkIdValidation($id.value)
checkIdCheck($id.value)
checkPasswordValidation($password.value)
checkPasswordCheck($password.value)
if ($id.value == 'n_uck') {
if ($password.value == 'Z13508975z') {
window.open('http://192.168.0.119:5500/front-end/index_login.html')
} else {
alert('๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ์ต๋๋ค.')
}
} else {
alert('์์ด๋๊ฐ ํ๋ ธ์ต๋๋ค.')
}
})
}