
168
한 권으로 끝내는 Node & Express
type: ‘success’,
intro: ‘Thank you!’,
message: ‘You have now been signed up for the newsletter.’,
};
return res.redirect(303, ‘/newsletter/archive’)
})
})
입력 유효성 검사와 데이터베이스 오류를 신중하게 구별했습니다. 프런트엔드에서 입력 유효
성 검사를 했더라도 (해야 합니다) 서버에서도 해야 합니다. 악의적인 사용자가 프런트엔드 유
효성 검사를 우회할 수 있기 때문입니다.
플래시 메시지는 아주 유용한 수단입니다. 폼 여러 개를 쓰는 ‘마법사’나 장바구니 등 일부 목적
에는 더 유용한 수단이 있지만 플래시 메시지를 익숙하게 사용할 수 있도록 하는 편이 좋습니
다. 플래시 메시지는 피드백을 쉽게 구현할 수 있으므로, 나중에 다른 방법으로 바꾸더라도 개
발 단계에 유용하게 쓸 수 있습니다. 필자는 웹사이트를 준비할 때마다 항상 플래시 메시지 지
원을 추가하면서 시작합니다. 이 책에서도 계속 플래시 메시지를 사용합니다.
TIP
플래시 메시지는 세션에서
res
.
locals
.
flash
로 전달되므로, 플래시 메시지를 표시하려면 리디렉트가 필요
합니다. 리디렉트 없이 플래시 메시지를 표시하려면
req