2.3.2 유효성 증명
유효성 증명은 사전 정의된 타입을 사용하는, 잘 알려지지 않은 이점 중 하나이다. 모든 게시물에 특정 글자 수만 허용하는 마이크로블로그 플랫폼을 개발하고 있다고 가정해 보자. 이 가상의 마이크로블로그 플랫폼에서는 @ 접두사로 다른 유저를, # 접두사와 게시물 ID(식별자)로 다른 게시물을 언급할 수 있다. 검색 창에 게시물 ID를 입력하여 게시물을 검색할 수도 있다. 또한, @ 접두사와 사용자 이름을 함께 입력하면 해당 사용자의 프로필을 띄워 준다.
사용자 입력은 항상 유효성 검사를 해야 한다. 사용자가 # 접두사 뒤에 숫자가 아닌 문자를 입력하면 어떻게 될까? 사용자가 허용된 길이보다 더 긴 숫자를 입력한다면? 이러한 예외 상황은 알아서 해결될 것 같지만, 보통은 애플리케이션을 중단시킨다. 잘못된 입력으로 인해 코드 어딘가에서 예상치 못한 예외가 발생하기 때문이다. 이렇게 프로그램이 갑자기 멈추는 것은 사용자 입장에서 최악의 경험이다. 사용자는 무엇이 잘못되었는지 모르고, 다음에 무엇을 해야 할지도 모른다. 해당 입력을 검사하지 않고 표시할 경우 보안 문제가 발생할 수도 있다.