Express-Validator의 Custom Validator
express-validator
는 편리한 기본 validator
를 제공합니다. 하지만 실제 애플리케이션에서는 충분하지 않을 수 있습니다. 이 경우, 사용자가 validator
를 커스텀하여 작성할 수 있습니다.
Custom Validator
Custom Validator
는 .custom()
체인 메서드를 이용해 구현할 수 있습니다. Custom Validator
는 비동기 유효성 검사를 나타내기 위해 Promise
를 반환하고 사용자 지정 오류 메세지를 사용하기 위해 어떤 값을 throw
하거나 reject
할 수 있습니다. 여기서 만약 Custom Validator
가 비동기적으로 Promise
를 반환한다면 field
가 유효하지 않는다는 것을 나타내기 위해 reject
해야합니다.
예시
입력된 email
값이 이미 사용중인 email
주소인지 검증합니다. 이 예시에서 이미 사용중인 이메일이 있는 경우, Promise
를 reject
합니다.
1 | const { body } = require('express-validator'); |
예시2
회원가입중에 비밀번호
와 비밀번호 확인
값이 일치하는지 검증합니다. 이 validator
는 Promise
를 return
하지 않고 true
값을 리턴하여 synchronous
(동기)적으로 처리합니다.
1 | const { body } = require('express-validator'); |
위와 같은 방법으로 이전글에서 소개한 표준 validator
이외에 Custom Validator
를 사용하여 사용자의 요청을 안전하게 처리할 수 있습니다.