express-validator 로 유효성 검사Authentication(인증), Authorization(인가)cookie , JWT(JSON Web Token)dotenv 를 통해 .env파일 환경변수 사용강의를 통해 공부했을 때 사용했던 메소드들은 .isInt(),.notEmpty(),.withMessage() 등이 있었다.
유효성 검사에서 사용할만한 다른 메소드들을 눈도장이라도 찍어놓으면, 나중에 활용하기 좋을 것 같아서 몇가지 검색을 해봤다.
express-validator Methods
1. 사용자 정의 유효성 검사 -.custom()
body("password").custom((value, { req, location, path }) => any)
//value : 유효성 검사를 하고자 하는 값
//req : request
//location : body, param, query
//path : 필드명 ex) req.body.id 인 경우, path = id
우리가 회원가입을 하거나 할 때, 비밀번호, 비밀번호 확인 의 값을 입력받게 되는데, 이 경우에 자주 사용할 수 있을 것 같다.
// 예제 : req.body의 password와 password_check 유효성 검사
body('password').custom( (value, {req}) => {
if (value == req.body.password_check){
return true
} else {
throw new Error("비밀번호와 비밀번호 확인의 값이 다릅니다.")
}
}
2. 이메일 유효성 검사 - .isEmail()
body('email').isEmail()
3. 문자열 길이 검사 - .isLength({ min : , max : })
body('name').isLength({min : 2 , max : 4})
4. 숫자와 알파벳만 허용 - isAlphanumeric()
body('nickname').isAlphanumeric()
5. 숫자만 허용 - isNumeric()
body('age').isNumeric()
6. 필드값이 배열 안의 값에 해당되는지 확인 - isIn([])
body('authority').isIn(['admin', 'user'])
7. 휴대폰 번호 형식 확인 - isMobilePhone(locale)
body('contact').isMobilePhone('ko-KR')
8. 날짜 유효성 확인 - isAfter(date) & isBefore(date)
body('date').isAfter('2024-05-19')
Case 1 : return 없음, next( )를 최상단에 적은 경우
app.all('/url' , (req,res,next) => {
next()
console.log("all")
})
app.get('/url', (req,res,next) => {
console.log("get")
})
/* 결과 :
get
all
*/
Case 2 : return 없음, next( )를 최하단에 적은 경우
app.all('/url' , (req,res,next) => {
console.log("all")
next()
})
app.get('/url', (req,res,next) => {
console.log("get")
})
/* 결과 :
all
get
*/
Case 3 : return과 함께 next( )를 사용한 경우
app.all('/url' , (req,res,next) => {
return next()
console.log("all")
})
app.get('/url', (req,res,next) => {
console.log("get")
})
/* 결과 :
get
*/
github에 업로드 되는 것을 원하지 않는 파일을 제외시키기 위해 사용
<방법>
1. git 프로젝트 안에, .gitignore 파일을 생성
2. 해당 파일에, 제외하고자 하는 파일들을 작성